1 響應時間
響應步驟可以分為:使用者操作-邏輯處理-網路互動-頁面展示。
邏輯處理:
清理程式邏輯,減少不必要的操作,不分配不必要的記憶體。
1)不要在for迴圈中宣告臨時變數和寫try-catch。
2)合適使用資料型別,比如:stringbuilder或stringbuffer、少用enum、少用父類宣告(list、map)
3) 如果需要頻繁的new theard,使用執行緒池。
4) 正確使用單例模式
5)多用常量
6)使用策略模式進行解耦
網路互動:使用快取 1)使用執行緒池 2)快取 3)訊息快取,使用obtainmessage實現訊息復用 4)listview快取 5)網路快取 6)layout快取
控制最大請求量,及時取消請求,過濾重複的請求,設定超時,設定優先順序。
頁面展示:使用hierarchy viewer 和 lint 分析布局
1) 盡可能的減少布局層次, 使用、、。 ui繪製流程:measure - layout - draw;measure和layout都需要迴圈所有的子控制項。所以子控制項越多,消耗時間越長。
2)viewpager 同時快取pager數最好為最小數3,過多就會卡。 每個pager在使用時再載入網路和資料庫的資料,不要預載入。
3) 使用relativelayout 代替 linearlayout
4)避免過度繪製(overdraw)
5) 盡可能為所有解析度準備資源,減少硬體縮放,加快ui繪製速度
6) 使用lrucache 和disklrucache;使用網路+資料庫,每個activity和fragment設定乙個最小請求時間間隔。
2 記憶體
traceview 分析效能
1) bitmap消耗記憶體,在比較大的時候,容易產生oom,需要使用bitmapfactory.options縮放。使用完之後,及時使用bitmap.recycle()及時**。
3 電量
措施:1)減少喚醒螢幕的次數和時間,使用wakelock時正確執行喚醒操作並根據設定關閉操作。
3)將多次網路請求打包為一次,可以避免過多次的網路請求產生的電量消耗。
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 裡自帶,可以用來跟...