Android 首次开机优化
生活随笔
收集整理的這篇文章主要介紹了
Android 首次开机优化
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
- 優化工具
- 優化方向
- 裁剪不常用的資源
- patch oat ODEX優化
- 參考資源
Android首次開機速度過慢!為了解決這個問題,需要首先了解Android首次開機的時間都消耗在什么地方了!
優化工具
我們可以借助 Bootchart工具進行分析,Using Bootchart on Android
總結起來步驟如下:
優化之前bootchart
優化之后bootchart
可以看出,我們可以通過bootchart清楚的分析出什么地方消耗了首次開機時間!
注意dex2oat進程!
在使用bootchart過程中可能會出錯(draw.py,parsing.py,samples.py),尤其是bootchart自帶的某些python文件,可以使用本文結尾的附件進行替換,或者對比進行修改!
優化方向
裁剪不常用的資源
–> external/xxxx-font
–> build/core/*.mk 中調用的一些ttf資源
–> LOCAL_OVERRIDES_PACKAGES使用這個屬性進行控制
具體代碼實現 frameworks/base/core/java/com/android/internal/os/ZygoteInit.java
注:以上絕大部分是可以通過一個統一的mk進行管理的(常見的/device/vendor/product/product.mk)
patch oat & ODEX優化
首次開機消耗的絕大部分時間實在PMS中的dex2oat過程中;因此我們考慮在編譯過程中就將apk轉化成為odex,這樣首次開機過程中PMS就不在進行dex2oat的動作,進而可以提升首次開機時間!
在mk文件中添加如下選項(可以考慮在choosecombo的時候設置標志位,使用宏控)!
參考資源
Android Art config
bootchart Python 文件
總結
以上是生活随笔為你收集整理的Android 首次开机优化的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 本地HTML访问REST服务的实现
- 下一篇: fastboot 刷入第三方 Recov