Android 技術提升總結(持續更新)
阿新 • • 發佈:2019-01-05
過度繪製(Overdraw):同一幀的某個畫素在同一時間內被多次繪製(多層UI不可見的UI也被繪製)
過度繪製檢查:設定->開發者模式->除錯GPU過度繪製
藍色,淡綠,淡紅,深紅代表了4種不同程度的Overdraw情況。藍色表示不存在過度繪製,其他顏色分別表示2x,3x,4x過度繪製。
解決辦法:1. 普通View儘量扁平佈局(RelativeLayout)減少View巢狀層次,儘量使用RelativeLayout,去掉非必需的background等
1. 非及時任務(如:上傳log等)可以等充電時或連結WiFi時上傳(行動網路比WiFi更耗電,且每次啟動時比傳輸時耗電)
2. 儘量打包傳輸,減少網路請求次數
3. 正確使用Wakelock,及時釋放WakeLock,以及及時釋放硬體裝置
4. 使用JobScheduler集中處理收到的任務,在合適的時間,合適的網路下執行
4. 啟動速度優化
1. 用TraceView 找到程式碼中啟動速度慢的位置,進行UI
2. 減少Application中onAttachBase()和onCreate()中耗時工作,在可行的範圍內儘量改為非同步初始化
記憶體相關
編譯打包
- MultiDex
- Gradle Plugin
- Gradle 多渠道打包
- Gradle 動態編譯
- Apk簽名流程
程式碼質量
- Findbugs
-
Android Lint
-
SonarQube
虛擬機器
架構
- MVP