Android-App-启动优化全记录,hashmap和concurrenthashmap的区别
生活随笔
收集整理的這篇文章主要介紹了
Android-App-启动优化全记录,hashmap和concurrenthashmap的区别
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
-
控制線程數量 – 線程池
-
檢查線程間的鎖 ,防止依賴等待
-
使用合理的啟動架構
-
微信內部使用的 mmkernel
-
阿里 Alpha
系統調度優化
應用啟動的時候,如果主線程的工作過多,也會造成主線程過于繁忙,下面幾個系統調度相關的點需要注意:
- 啟動過程中減少系統調用,避免與 AMS、WMS 競爭鎖。啟動過程中本身 AMS 和 WMS 的工作就很多,且 AMS 和 WMS 很多操作都是帶鎖的,如果此時 App 再有過多的 Binder 調用與 AMS、WMS 通信,SystemServer 就會出現大量的鎖等待,阻塞關鍵操作
- 啟動過程中不要啟動子進程,如果好幾個進程同時啟動,系統負擔則會加倍,SystemServer 也會更繁忙
- 啟動過程中除了 Activity 之外的組件啟動要謹慎,因為四大組件的啟動都是在主線程的,如果組件啟動慢,占用了 Message 通道,也會影響應用的啟動速度
- Application 和主 Activity 的 onCreate 中異步初始化某些代碼
啟動過程中繁忙的 cpu
啟動過程中繁忙的 SystemServer
總結
以上是生活随笔為你收集整理的Android-App-启动优化全记录,hashmap和concurrenthashmap的区别的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【HISI系列】之开发板调试基本知识
- 下一篇: ZYNQ开机挂载SPI FLASH中的j