1. 程式人生 > >Android 技術提升總結(持續更新)

Android 技術提升總結(持續更新)

         過度繪製(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()中耗時工作,在可行的範圍內儘量改為非同步初始化

記憶體相關

編譯打包

  1. MultiDex
  2. Gradle Plugin
  3. Gradle 多渠道打包
  4. Gradle 動態編譯
  5. Apk簽名流程

程式碼質量

  1. Findbugs
  2. Android Lint

  3. SonarQube

虛擬機器

架構

  1. MVP