Android系统开机启动时间:SystemServer优化

 

目录

涉及文件

说明

修改内容


涉及文件

frameworks/base/services/java/com/android/server/SystemServer.java

说明

SystemSever 启动了很多服务,因为android系统是为手机场景定制的,因此可以将部分不需要的服务关闭。

同时将一些服务并行启动,节省启动时间。

修改内容

以下修改内容,为举例使用,根据实际项目将不需要的服务关闭和优化。

添加宏开关ENABLE_QBOOT,为true时,执行优化流程。

private void startBootstrapServices() {
        ......
                        
        // Activity manager runs the show.
        Future<?> startActivityManager = null;
        //Add
        if(!ENABLE_QBOOT){
            traceBeginAndSlog("StartActivityManager
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
Android 13 系统开机启动时间可以分为以下几个阶段: 1. Bootloader(引导程序)阶段:此阶段是硬件相关的阶段,用于加载操作系统内核。由于这个阶段不受操作系统控制,因此无法监控其启动时间。 2. Kernel(内核)阶段:此阶段是加载操作系统内核和驱动程序的阶段。我们可以在内核启动时使用命令行参数“initcall_debug”来监控内核启动时间,具体方法如下: * 在 Android 设备上安装 busybox 工具。 * 在终端中输入以下命令:`adb shell "su -c 'echo 1 > /proc/sys/kernel/initcall_debug'"`。 * 重启设备并观察终端中的输出。 3. Init 进程阶段:此阶段是启动 init 进程和 Android 系统服务的阶段。我们可以在 init 进程启动时添加“debug”选项来监控启动时间,具体方法如下: * 在 Android 设备上安装 busybox 工具。 * 在终端中输入以下命令:`adb shell "su -c 'setprop debug.init 1 && setprop debug.sf.init 1 && setprop debug.sf.svc 1'"`。 * 重启设备并观察终端中的输出。 4. System Server 阶段:此阶段是启动 Android 系统服务的阶段。我们可以在启动 System Server 时添加“--enable-debug”选项来监控启动时间,具体方法如下: * 在 Android 设备上安装 busybox 工具。 * 在终端中输入以下命令:`adb shell "su -c '/system/bin/am start-foreground-service --user 0 -n com.android.server/.SystemServer --enable-debug'"` * 重启设备并观察终端中的输出。 以上方法可以帮助您监控 Android 13 系统开机启动时间,需要注意的是,由于设备硬件性能、系统版本和应用程序等因素的影响,不同设备的启动时间可能会有所不同。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

漫步的傻瓜

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值