Android效能優化

2021-06-18 17:25:57 字數 1135 閱讀 5567

android效能優化

1.http用gzip壓縮,設定連線超時時間和響應超時時間

http請求按照業務需求,分為是否可以快取和不可快取,那麼在無網路的環境中,仍然通過快取的httpresponse瀏覽部分資料,實現離線閱讀。

2.listview 效能優化

1).復用convertview

在getitemview中,判斷convertview是否為空,如果不為空,可復用。如果couvertview中的view需要新增listerner,**一定要在if(convertview==null){}之外。

2).非同步載入

item中如果包含有webimage,那麼最好非同步載入

3).快速滑動時不顯示

當快速滑動列表時(scroll_state_fling),item中的或獲取需要消耗資源的view,可以不顯示出來;而處於其他兩種狀態(scroll_state_idle 和scroll_state_touch_scroll),則將那些view顯示出來

4.非同步任務,分為核心任務和普通任務,只有核心任務中出現的系統級錯誤才會報錯,非同步任務的ui操作需要判斷原activity是否處於啟用狀態

5.盡量避免static成員變數引用資源耗費過多的例項,比如context

6.使用weakreference代替強引用,弱引用可以讓您保持對物件的引用,同時允許gc在必要時釋放物件,**記憶體。對於那些建立便宜但耗費大量記憶體的物件,即希望保持該物件,又要在應用程式需要時使用,同時希望gc必要時**時,可以考慮使用弱引用。

7.超級大胖子bitmap

及時的銷毀(activity的ondestroy時,將bitmap**)

設定一定的取樣率

巧妙的運用軟引用

drawable對應resid的資源,bitmap對應其他資源

8.保證cursor 占用的記憶體被及時的釋放掉,而不是等待gc來處理。並且 android明顯是傾向於編 程者手動的將cursor close掉

9.執行緒也是造成記憶體洩露的乙個重要的源頭。執行緒產生記憶體洩露的主要原因在於執行緒 生命週期的不可控

10.如果imageview的是來自網路,進行非同步載入

11.應用開發中自定義view的時候,互動部分,千萬不要寫成執行緒不斷重新整理介面顯示,而是根據touchlistener事件主動觸發介面的更新

Android效能優化

1.節制地使用service 如果應用程式當中需要使用service來執行後台任務的話,請一定要注意只有當任務正在執行的時候才應該讓service執行起來。另外,當任務執行完之後去停止service的時候,要小心service停止失敗導致記憶體洩露的情況 2.當介面不可見時釋放記憶體 當使用者開啟另...

Android效能優化

本篇主要是對 google推出的效能優化典範 進行乙個通篇的整理 主要在於一些具體的優化技巧 至於60fps 掉幀 gc 記憶體抖動 閾值 等等這些效能術語的概念裡面不做多概括,請自行查閱 本篇從以下幾點延伸擴充套件 systrace systrace 在android ddms 裡自帶,可以用來跟...

Android效能優化

如果使用listview或者gridview,注意convertview復用以及viewholder的使用,可以不用每次都建立新的布局以及進行findviewbyid這樣費時的操作,即使某種itemtype型別的itemview數量只有乙個。推薦使用recyclerview,功能更強大,效能更好,並...