Android 效能優化

2021-09-27 03:40:54 字數 1079 閱讀 4710

布局優化

1.減少布局層級巢狀

ui布局巢狀超過五層就會顯示卡頓,所以減少層級進行ui

2.使用復用布局

include標籤復用避免同樣的布局反覆建立

3.使用merge 標籤合併布局 減少布局層次

merge標籤會忽略父容器的包裹實現減少布局層次

4.避免創造不必要的布局層級

父容器內可以實現排列 就不需要在加入一層巢狀

5.使用惰性空間 viewstub 動態載入布局

viewstub本身不參與繪製 在使用到的時候才進行繪製 例如 網路請求失敗

繪製優化

就是避免view在ondraw方法執行大量的操作

1.在ondraw中不要建立區域性物件,因為ondraw會被頻繁呼叫 建立大量的臨時物件 不僅占用記憶體還會引起頻繁gc 降低程式執行效率

2.官方給出的view繪製標準是每幀的繪製時間不超過16ms  所以在ondraw不做耗時操作  降低ondraw方法的複雜度

記憶體優化

1.記憶體浪費

使用arraymap代替 hashmap

2.記憶體洩漏

一些不用的物件被長期持有,導致記憶體無法被釋放。

主要的引起記憶體洩漏的是:

1.內部類引用導致activity洩漏

2.activity context被傳遞到其他例項中,這可能導致自身被引用而發生洩漏。

3.靜態造成的記憶體洩漏

4.還有靜態變數持有view

5.注意***的登出

6.注意cursor物件是否及時關閉

7.webview的引起的洩漏

4.啟動頁白屏優化

為什麼會出現白屏

實際上就是是activity預設的主題中的android:windowbackground為白色或者黑色導致的。

解決辦法

當前啟動頁新增乙個有背景的style樣式,然後splashactivity引用當前theme

主題,注意在該頁面將window的背景圖設定為空

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 裡自帶,可以用來跟...