- zygote:预加载类和资源。加载过多会影响开机时间。
- 查看
/sdcard/mtklog/bootprof文件。 - 减少预加载的类和资源,确保没有冗余的资源图片。
- 查看
- 开机动画进程:bootanimation 或 mtkbootanimation,走 android 流程比 movie 流程占用内存资源少,开机速度快。
- 开机动画分两种情况:
- 播放 mp3 时,mp3 文件不能过长,最好不要超过 system_server 启动时间。
- 不播放 mp3 时,不会影响开机时间。
- 开机动画分两种情况:
- SystemServer.java:系统服务优化,不需要的服务可以考虑阉割。
- 可以异步加载或阉割掉 DropBoxManagerService 和调试相关的部分。
- 排查其他 Service 是否可以去除。
- system_server 特定服务:非必要的服务可以放在 system_server 进程外启动。
- kernel init 时间长:检查客户版本的 init.rc 文件相对 Driveronly 版本是否有添加新的 init,这些是否都是必须添加的。
- 在 uartlog 中,查找关键字
------------[ cut here ]------------,找到频繁打出的 call stack,排查客制化的点。
- 在 uartlog 中,查找关键字
- uartlog 中排查驱动设备初始化:检查驱动设备初始化是否完成或延时较长。
- dex2oat 导致的开机慢问题:
- 刷机后第一次开机:在 sys_log.boot 中检查这两个 log 的时间,如果时间较长,打开 DEBUG_DEXOPT 的 log,进一步检查是哪个 apk 在进行 dex2oat。
- 非第一次开机 log:在 bootprof 文件中包含 PMS:performDexOpt,说明在编译时没有打开 dex2oat 选项。
- 若确认为 dex2oat 导致的问题,可以按照下面修改:
- 在
/device和/build目录下,修改下面的宏:- build/core/dex_preopt.mk
- WITH_DEXPREOPT := true
- WITH_DEXPREOPT_PIC := true
- DONT_DEXPREOPT_PREBUILTS := false(或注释掉)
- build/core/dex_preopt.mk
- 在
- persist APP 优化:
- 尽量少把 APP 设置为 persist。
- 优化每个有源码的 persist APP,使其启动尽可能快。
- 精简 apk 包:
- 删除没有用到的图片、资源文件、jar 包文件和 so 文件。
- 预置自己的 APP,删除 drawable 包中重复的资源。
- 预置自己的 APP,删除多语言支持资源。
- apk 中只保留和系统适配的 so 文件。
- 在 Application 的 onCreate 方法中不要有耗时的代码段。
- 通过修改
--compiler-filter为 speed、quick、speed-profile 来提高 apk 的启动速度。
- 定频定核:调高 CPU 频率会带来一定的功耗。
- 以 6763 的 O1 版本代码为例:
- 在
/system/core/rootdir/init.rc文件中添加以下代码:- on early-init
#mtk begin
write /proc/ppm/policy/ut_fix_core_num "4 4"
write /proc/ppm/policy/ut_fix_freq_idx "0 0"
#mtk end - on property:sys.boot_completed=1
bootchart stop
#mtk begin
write /proc/ppm/policy/ut_fix_core_num "-1 -1"
write /proc/ppm/policy/ut_fix_freq_idx "-1 -1"
#mtk end
- on early-init
- 在
- 以 6763 的 O1 版本代码为例:
- 客制化进程的启动速度:关注客制化进程的启动速度是否影响开机速度。
- PackageManagerService:
- 删除没有必要的 apk 包。
- 尝试将单线程 scan 分区里面的 apk 改为多线程异步 scan。
mtk android开机及重启速度优化
2025/11/7 9:40:19
来源:https://blog.csdn.net/amlinsan/article/details/139799946
浏览:
次
关键词:mtk android开机及重启速度优化
版权声明:
本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。
我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com
热文排行
- 老外讲解用Delphi 12.3作web
- 数据库物理结构设计
- 华为 海思22AP10(SS524)H.265 编解码处理器用户指南
- 基于重要抽样的主动学习不平衡分类方法ALIS
- 开源模型时代的 AI 开发革命:Dify 技术深度解析
- npm install puppeteer 报错 npm ERR! PUPPETEER_DOWNLOAD_HOST is deprecated解决办法
- 【量化策略】均值回归策略
- 《缺失MRI模态下的脑肿瘤分割的潜在相关表示学习》| 文献速递-深度学习肿瘤自动分割
- 如何在 Mac 上清空硬盘后恢复丢失的数据?
- (2)Django生产环境数据库的切换以及环境配置python-dotenv方案
