Android高質量開發

關於崩潰

Android 崩潰分爲 Java 崩潰和 Native 崩潰。
Native 崩潰捕獲中最成熟的方案。使用Breakpad (傳送門)工具。

ANR(Application Not Responding,程序沒有響應)這問題。怎麼去發現應用中的 ANR 異常呢?

  1. 使用 FileObserver 監聽 /data/anr/traces.txt 的變化。非常不幸的是,很多高版本的 ROM,已經沒有讀取這個文件的權限了。可以使用 Google Play 服務,而國內微信利用Hardcoder框架向廠商獲取了更大的權限。
  2. 從卡頓的性能入手。

HC 框架是一套獨立於安卓系統實現的通信框架,它讓 App 和廠商 ROM 能夠實時“對話”了,目標就是充分調度系統資源來提升 App 的運行速度和畫質,切實提高大家的手機使用體驗

耗電優化

檢測耗電。可以使用谷歌提供的Android Vitals 工具。在國內不好用。
長時間獲取 WakeLockWiFi 和藍牙的掃描等。
耗電優化的第二個方向是符合系統的規則,讓系統認爲你耗電是正常的。

實際上,所有和屏幕亮度相關的 WakeLock 的 Flag ,在 API level 17+ 之上,都已經被標記廢棄了。WakeLock 是全局的,比較重。如果是保持屏幕亮,建議使用window flag FLAG_KEEP_SCREEN_ON(結合clearFlags()使用)。或者使用View的屬性android:keepScreenOn

後臺任務的處理,參考傳送門

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章