android效能優化主要包括布局優化、繪製優化、記憶體洩露優化、響應速度優化、listview優化、bitmap優化、執行緒優化以及一些優化建議.
減少布局檔案的層級(測量/布局/繪製的時間減少):可以使用relativelayout來減少巢狀,從而達到減少層級的目的,另外在相同層級的情況下使用linearlayout(相比於relativelayout更高效)
使用include
標籤復用,merge
標籤降低層級,viewstub
來實現懶載入,另外補充乙個space
可以用來佔位
主要是避免執行大量的操作.
不要建立新的區域性物件,因為ondraw可能會被頻繁呼叫,會在一瞬間產生大量的臨時物件,會導致占用過多記憶體,系統更加頻繁的gc,降低執行效率
不要做耗時的任務
其實記憶體洩露有很多種情況,但是書中列舉的比較少
靜態變數導致的記憶體洩露(比如靜態的context,靜態的view)
單例模式持有activity
屬性動畫(repeatcount為無限模式)
listview使用viewholder模式,bitmap在12章有講,這裡不重複.
主要是採用執行緒池(11章有講)
避免存在大量的thread
重用thread,避免執行緒建立和銷毀所帶來的開銷
執行緒池還能控制最大併發數,避免大量執行緒因互相搶占系統資源從而導致阻塞
避免建立過多的物件
不要過多使用列舉(列舉占用的記憶體空間要比整型的大)
常量使用static final
來修飾
使用一些android特有的資料結構,比如sparsearray
和pair
等,它們都具有更好的效能(注:減少了自動裝箱和拆箱的消耗)
適當使用軟引用和弱引用
盡量採用靜態內部類(不會持有外部類的例項)
命名規範
**排版
給非常關鍵的**寫注釋
**要有層次性,可擴充套件
Android效能優化
android效能優化 1.http用gzip壓縮,設定連線超時時間和響應超時時間 http請求按照業務需求,分為是否可以快取和不可快取,那麼在無網路的環境中,仍然通過快取的httpresponse瀏覽部分資料,實現離線閱讀。2.listview 效能優化 1 復用convertview 在geti...
Android效能優化
1.節制地使用service 如果應用程式當中需要使用service來執行後台任務的話,請一定要注意只有當任務正在執行的時候才應該讓service執行起來。另外,當任務執行完之後去停止service的時候,要小心service停止失敗導致記憶體洩露的情況 2.當介面不可見時釋放記憶體 當使用者開啟另...
Android效能優化
本篇主要是對 google推出的效能優化典範 進行乙個通篇的整理 主要在於一些具體的優化技巧 至於60fps 掉幀 gc 記憶體抖動 閾值 等等這些效能術語的概念裡面不做多概括,請自行查閱 本篇從以下幾點延伸擴充套件 systrace systrace 在android ddms 裡自帶,可以用來跟...