這篇博文回顧了關注于快速、可靠、便于調試的 Android UI 測試的4種策略。 在我們開始之前,請不要忘記一個首要原則(import rule):可以用單元測試完成的工作應該使用單元測試完成。Robolectric 和 gradle unit tests support 是用于 Android 的非常好的單元測試框架范例。從另一個角度來說, UI 測試是用來檢查你的應用是否能對用戶在設備上一系列操作進行正確的 UI 反饋。 Expresso 是一個良好的、用于在同一進程中運行 UI 動作及校驗的框架。如果想了解關于 Espresso 和 UI 自動化工具,請查看 test support libraries 。
Google開發者YouTube頻道發布了探討Android性能模式的16個視頻, 列出了開發者在創建應用時容易出現的一些性能問題,同時提供了很多處理建議。本文是對這些問題和建議的總結。
V1.0版本于4天前首發與我的掘金專欄,發布后大家的支持讓我喜出望外,截止本文發稿,掘金上原文喜歡數為259,Github上 項目 的Star數為151。很慚愧,就做了這么一點微小的工作。
其實主要是內存方面,內存管理是個永恒的話題! 1.從工具DDMS中,在Sysinfo的tab欄里面有一個Memory usage的選項,通過USB連接Android設備以后很容易抓到圖。 在圖中可以看到系統隨時可以用的內存是Free和Buffers兩項,因為我抓圖的系統只有128M的內存,所以看上去這部分可用內存已經很少了。
Android應用的卡頓問題非常突出,所有用戶都能感覺得到卻又很難做量化卡頓的嚴重程度,過去的做法只是零星地發現和解決一些小點。DAU超億級的 UC瀏覽器在卡頓優化的過程中建立了一套衡量卡頓嚴重性的數據指標與監控分析機制,并藉此有針對性地落實了200+個性能優化點。下面會介紹卡頓監控與分析的方法、常見的卡頓案例與原因。
作為Android開發,日常的開發工作中或多或少要接觸到性能問題,比如我的Android程序運行緩慢卡頓,并且常常出現ANR對話框等等問題。既然有性能問題,就需要進行性能優化。正所謂工欲善其事,必先利其器。一個好的工具,可以幫助我們發現并定位問題,進而有的放矢進行解決。本文主要介紹StrictMode 在Android 應用開發中的應用和一些問題。
作為Android開發,日常的開發工作中或多或少要接觸到性能問題,比如我的Android程序運行緩慢卡頓,并且常常出現ANR對話框等等問題。既然有性能問題,就需要進行性能優化。正所謂工欲善其事,必先利其器。一個好的工具,可以幫助我們發現并定位問題,進而有的放矢進行解決。本文主要介紹StrictMode 在Android 應用開發中的應用和一些問題。
幾周前,我在Droidcon NYC上有過一次關于Android性能優化的演講。 我在這個演講中花費了大量的時間,因為我想通過真實的例子展現性能問題,以及我是通過什么樣的工具去發掘這些問題的。因為時間原因,在演講中我不得不舍棄一半的內容。在這篇文章中,我會總結在演講中我所討論的所有內容,并且給出實例。( 點擊鏈接 觀看演講視頻,需自備梯子)
當有人問我關于動畫性能表現不佳問題的時候,我首先會詢問他們是否使用了Hardware Layer層。 你的View可能在執行動畫期間的每一幀都進行重繪,如果使用View Layer,可以避免重繪每一幀,因為View的渲染一旦進入離屏緩沖區就能夠被復用。
2015年伊始,Google發布了關于 Android性能優化典范的專題, 一共16個短視頻,每個3-5分鐘,幫助開發者創建更快更優秀的Android App。課程專題不僅僅介紹了Android系統中有關性能問題的底層工作原理,同時也介紹了如何通過工具來找出性能問題以及提升性能的建議。主要從三個 方面展開,Android的渲染機制,內存與GC,電量優化。下面是對這些問題和建議的總結梳理。
Google近期在Udacity上發布了Android性能優化的在線課程,分別從渲染,運算與內存,電量幾個方面介紹了如何去優化性能,這些課程是Google之前在Youtube上發布的Android性能優化典范專題課程的細化與補充。
traceView是Android中為開發者提供的一個可視化的工具,用來評測app中每一個方法運行的性能。
About the Speaker: Boris Farber 每個人都知道一個 App 的成功,更這個 App 的性能體驗有著很密切的關系。但是如何讓你的 App 擁有極致性能體驗呢?在 DroidCon NYC 2015 的這個分享里,Boris Farber 帶來了他關于 Android Api 以及如何避免一些常見的坑的
在Android開發的過程中,經常需要注意內存泄漏問題,不然很容易導致OOM問題,或者因此引起頻繁gc造成app卡頓。 下面這篇文章將分析內存泄漏的原因、Android內存管理的相關內容,并分享一些檢測泄漏的方法和如何避免內存泄漏。
內存泄漏往往被我們所忽略,但是當大量的內存泄漏以后導致OOM。它所造成的影響也是不容小覷的。當然除了上述內存泄漏的分析以為我們還可以通過 LeakCanary 來分析內存泄漏。對于LeakCanary的使用在這里就不在進行詳細介紹。
性能監控其實就是hook 代碼到項目代碼中,從而做到各種監控。常規手段都是在項目中增加代碼,但如何做到非侵入式的,即一個sdk即可。
作為Android開發,日常的開發工作中或多或少要接觸到性能問題,比如我的Android程序運行緩慢卡頓,并且常常出現ANR對話框等等問題。既然有性能問題,就需要進行性能優化。正所謂工欲善其事,必先利其器。一個好的工具,可以幫助我們發現并定位問題,進而有的放矢進行解決。本文主要介紹StrictMode 在Android 應用開發中的應用和一些問題。
很多開發者都是從J2ME或J2EE上過來的,對于內存的使用和理解并不是很到位,Android開發網本次給大家一些架構上的指導,防止出現豆腐渣工程的出現。Android作為以Java語言為主的智能平臺對于我們開發一些高性能和質量的軟件來說了解Android程序內存管理機制是必須的。 Android的Dalvik VM在基礎方面和Sun JVM沒有什么大的區別僅僅是字節碼的優化,我們要知道什么時候用gc什么時候用recycle以及到底用不用finalization,因為Java對內存的分配只需要new開發者不需要顯示的釋放內存,但是這樣造成的內存泄露問題的幾率反而更高。
本文對String字符串進行深度解析,有助于我們日常開發中提高程序的性能,解決因String 而導致的性能問題。
內存泄漏:對于Java來說,就是new出來的Object 放在Heap上無法被GC回收(內存中存在無法被回收的對象);內存泄漏發生時的主要表現為內存抖動,可用內存慢慢變少。