Android 首次开机优化

为了解决Android首次开机速度过慢这个问题,需要首先了解Android首次开机的时间都消耗在什么地方.

优化工具

我们可以借助 Bootchart工具进行分析,Using Bootchart on Android

总结起来步骤如下:

  1. 在/system/core/init 下的mk中添加INIT_BOOTCHART:=true 编译控制命令
  2. 在BootChart.h中修改# define BOOTCHART 1 这个宏,这个是宏功能开关
  3. 用make bootimage 来编译boot,init会编译在boot中,编译成功后,fastboot烧入手机中。
  4. 用adb shell echo 120(或者别的数字) > /data/bootchart-start 创建一个/data/bootchart-start文件并写入值,控制采集开始
  5. 用adb shell echo 1 > /data/bootchart-stop 来控制Bootchart功能关

优化之前bootchart 
优化之前bootchart


优化之后bootchart 
优化之后bootchart 
可以看出,我们可以通过bootchart清楚的分析出什么地方消耗了首次开机时间! 
注意dex2oat进程!

在使用bootchart过程中可能会出错(draw.py,parsing.py,samples.py),尤其是bootchart自带的某些Python文件,可以使用本文结尾的附件进行替换,或者对比进行修改!

优化方向

裁剪不常用的资源

  1. 语言 –> build/target/product/languages_full.mk
  2. 铃声 –> frameworks/base/data/sound/
  3. 字体 –> frameworks/base/data/font/ 
    –> external/xxxx-font 
    –> build/core/*.mk 中调用的一些ttf资源
  4. 裁减掉一些不常用的APP资源 
    –> LOCAL_OVERRIDES_PACKAGES使用这个属性进行控制
  5. 预加载类 和 预加载资源部分 frameworks/base/preloaded-classes 
    具体代码实现 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的时候设置标志位,使用宏控)!

WITH_DEXPREOPT := true
TH_DEXPREOPT=true
WITH_ART_SMALL_MODE=true
WITH_ART_USE_OPTIMIZING_COMPILER=true
ADDITIONAL_BUILD_PROPERTIES += ro.xxxx=1

original link:
http://blog.csdn.net/peng_cao/article/details/50038971
bootchart usage: http://blog.csdn.net/sckgenius/article/details/23265073
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: android 系统开机优化是为了提高手机开机速度和用户体验而进行的一系列优化措施。以下是一些常见的 android 系统开机优化方法: 1. 延迟应用启动:android 系统在开机时会延迟一些应用的启动,只加载系统核心应用和服务,而将其他应用推迟启动。这样可以加快开机速度,用户可以更快地使用手机。 2. 启动器优化android 系统的启动器负责显示桌面、应用图标等信息。优化启动器可以减少启动器的加载时间,提高用户切换桌面的响应速度。 3. 禁用不必要的预装应用:很多手机厂商在出厂时会预装一些应用,这些应用可能对用户来说是多余的。禁用不必要的预装应用可以减少开机时加载的应用数量,提高开机速度。 4. 清理缓存:android 系统在使用过程中会生成大量的缓存数据,这些数据占用了手机的存储空间,并且可能导致系统开机慢。定期清理缓存可以释放存储空间,并提高开机速度。 5. 系统更新:android 系统的更新通常包含一些性能优化和 bug 修复,及时更新系统可以提高开机速度和系统稳定性。 综上所述,android 系统开机优化是通过延迟应用启动、启动器优化、禁用不必要的预装应用、清理缓存和系统更新等方法来提高手机开机速度和用户体验。 ### 回答2: Android系统开机优化是指针对手机的开机过程进行优化,以提高系统启动速度和用户体验。主要涉及以下方面的优化措施: 1. 减少开机自启动应用:开机时系统会自动加载一些应用程序,但这些应用可能会消耗系统资源和影响开机速度。通过减少不必要的自启动应用,可以加快系统启动时间。 2. 禁用系统预装应用:大多数手机在出厂时都预装了一些应用,但这些应用不一定被用户所需要。通过禁用一些不常用或不必要的预装应用,可以加快系统启动速度。 3. 清理系统缓存:开机时,系统会加载许多缓存文件,清理这些无用的缓存文件可以提高系统的启动速度。 4. 更新系统和应用程序:及时更新系统和应用程序可以修复漏洞和优化性能,从而提高系统的启动速度。 5. 使用轻量级应用:一些应用程序可能比较庞大或占用较多内存,启动时需要更多时间。选择轻量级应用可以加快系统的启动速度。 6. 关闭动画效果:在开机过程中,系统会显示一些动画效果,这些效果虽然提升了用户体验,但也会增加系统的启动时间。关闭这些动画效果可以加快开机速度。 7. 清理垃圾文件:开机时,系统会扫描和加载许多垃圾文件,清理这些无用的文件可以提高系统的启动速度。 通过对以上方面的优化,可以加快Android系统的启动速度,提升用户的使用体验。 ### 回答3: Android系统开机优化是为了提高开机速度和用户体验,以下是一些常见的优化方法: 1. 系统预加载:Android系统会在开机过程中预加载一些常用的应用和组件,以加快后续启动的速度。 2. 减少开机自启动应用:应用在安装时可以选择是否开机自启动,用户可以根据需求调整自启动应用的数量,减少开机时的负担。 3. 应用冷启动优化:冷启动是指应用被启动时,启动过程中需要加载资源和初始化的时间。开发者可以通过优化应用启动流程、延迟加载资源等方式来减少冷启动时间。 4. 优化系统服务启动顺序:Android系统启动时需要依次启动各个系统服务,优化服务启动顺序可以减少等待时间,提高开机速度。 5. 禁用无用的系统应用:Android系统预装了很多应用,但用户并不一定都需要使用。可以通过禁用一些无用的系统应用来减少开机负担。 6. 压缩系统文件大小:压缩系统文件可以减少开机时系统读取的文件数量和大小,从而提高读取速度。 7. 使用更快的存储设备:更换为高速的存储设备(如固态硬盘)可以显著提高系统开机速度。 总之,Android系统开机优化可以通过预加载、减少自启动应用、冷启动优化优化服务启动顺序、禁用无用系统应用、压缩系统文件大小和使用更快的存储设备等方式来提高开机速度和用户体验。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值