Android系统开机启动时间分析(rk)

这里所说的统计系统的启动时间,并不是简单地用秒表和肉眼来统计,而是通过分析系统输出的log信息来统计,这样才显得更加专业。

 

首先了解2个概念:

 

1.   Android是基于Linux内核的系统,因此Android的启动过程是分为两个阶段:

1)  第一个阶段就是Linux内核的启动;

2)  第二个阶段就是Android框架的启动,包括核心服务+程序。

 

2.   Android的log系统是独立于Linux内核的log系统的。

1)  Linux内核通过printk打印的log信息,这些log写入到了/dev/kmsg文件中,在Shell终端可以通过dmesg命令查看这些log信息。

2)  Android框架则是通过Logger驱动打印log信息,这些log并没有归并到kmesg文件中,而是单独存储的,位于/dev/log目录下,在Shell终端可以通过logcat命令来查看。

下面我们分别从两种log信息中找到如何统计系统启动时间的方法:

 

1.  通过dmesg信息统计系统启动时间

 

首先,我们通过dmesg命令抓取Linux内核的log信息(部分系统可能需要先执行 adb root):

$ adb shell dmesg > dmesg.txt

Linux内核启动完成,一般都有如下的标准输出信息:

<6> [ 6.613861] Freeing init memory: 176K

因此,只要我们在dmesg.txt文件中找到“Freeing init memory”这一行即可,从上面的log可以看出,Linux内核启动只用了6.613861s。

那么,如何找到Android系统启动完成的标志呢?

很多Android设备在系统启动完成后,会在内核log中打印如下信息:

<6>[ 29.913726] init: processingaction 0x96bb8 (property:sys.boot_completed=1)

因此,找到“boot_completed”这一行也就得到了整个系统的启动时间了,从这一行可以看出,整个系统启动用了29.913726s。

当然,并不是所有的Android设备都会打印出这条log,因此,我们一般用下面介绍的方法来专门统计Android系统的启动时间,

2. 通过logcat统计系统的启动时间

 

Android的log系统是独立于Linux内核log系统的,

通过在终端输入adb shell 进入Android系统,cd到/dev/log目录,你会发现里面有四个文件,分别是:events,main,radio,system.

 

 

 

Android系统把Log分为了四类,不同的类别记录不同的Log信息:

main - 主要的Log信息,大部分应用级别的Log信息都在这里

events - 系统事件相关的Log信息

radio   - 无线/电话相关的Log信息

system - 低级别的系统调试Log信息

 

默认通过logcat抓取的是main信息

如果想抓取指定类别的log信息的方法,在logcat命令后加-b参数,例如:

 

1

2

3

4

$ adb logcat -d -v time -b "main"   >  main.txt

$ adb logcat -d -v time -b "events" >  events.txt

$ adb logcat -d -v time -b "system" >  system.txt

$ adb logcat -d -v time -b "radio"  >  radio.txt

 

那么,如何统计Android系统的启动时间呢?

我们可以重点关注events类别的log信息,通过如下命令:

$ adb logcat -d-b events | grep "boot"

如图所示,这是我在高通的APQ8064开发板上抓取的log信息:

 

 

“boot_progress_start”代表着Android屏幕点亮,开始显示启动动画,即15.492s开始闪烁Android字样。

 

“boot_progress_enable_screen”代表着整个系统启动结束,即用了29.986s,用这个总时间减去Linux Kernel的启动时间即可得到Android OS部分的时间。

  • 2
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 要优化rk3128 android 5.1的开机速度,可以采取以下几个措施: 1. 关闭启动时不必要的自启动应用程序:在设置中的应用程序管理中,禁用那些不需要在开机时自动启动的应用程序。这样可以减少开机时的负担,提升开机速度。 2. 清理系统缓存:打开设置,找到存储选项,进入缓存数据,并点击清除缓存按钮。这将清除系统中的临时文件和无用数据,从而提高启动速度。 3. 禁用不必要的动画效果:在开发者选项中,找到动画选项,并将所有的动画效果设置为关闭。这可以减少开机时显示的动画,加快开机速度。 4. 更新系统和应用程序:通过检查系统和应用程序是否有更新,并及时安装最新版本,可以修复一些bug和优化性能,从而提高开机速度。 5. 减少开机启动应用程序:进入设置-应用程序管理-自启动管理,关闭那些不必要的应用程序自启动。这样可以减少开机时需要加载的应用程序数量,提高开机速度。 6. 运行内存清理:在设置-内存中,找到清理内存选项,点击清理内存按钮。这将释放占用了内存的信息和进程,优化系统性能,加快开机速度。 通过以上优化措施,可以提高rk3128 android 5.1的开机速度,让设备更加流畅高效。 ### 回答2: 要优化RK3128 Android 5.1的开机速度,可以采取以下措施: 1. 清理启动项:在系统设置中禁用不必要的应用程序的自启动选项。这样可以减少开机时需要加载的应用程序数量,提升开机速度。 2. 禁用冷启动:冷启动是指应用程序第一次运行时需要加载的相关数据和资源,导致启动时间较长。可以通过在开发者选项中禁用冷启动来减少开机时应用程序的加载时间。 3. 清理缓存:开机时,系统会加载缓存文件,这些文件可能会导致开机速度变慢。因此,可以定期清理系统缓存,以提高开机速度。 4. 禁用动画效果:在系统设置中,禁用开机动画效果可以减少开机时间。可以通过进入“开发者选项”并将“窗口动画缩放”、“过渡动画缩放”和“动画持续时间缩放”调整为较低的数值或关闭来实现。 5. 更新系统:如果RK3128 Android 5.1的系统版本较旧,建议升级到最新的系统版本。新版本通常会修复一些开机速度方面的问题,并提供更好的性能和稳定性。 通过以上方法优化RK3128 Android 5.1的开机速度,可以更快地启动设备,并提升使用体验。 ### 回答3: 为了优化rk3128 android5.1的开机速度,可以采取以下几个方法: 1. 清理系统垃圾:首先,可以通过清理系统垃圾文件来释放存储空间,从而提升开机速度。可以使用一些系统清理工具,如CCleaner等来清理系统中的无效文件和缓存。 2. 禁用开机启动程序:在系统设置中,可以禁用一些不必要的开机启动程序。这些自启动程序会消耗系统资源,导致开机速度变慢。通过禁用不必要的自启动程序,可以减少开机时的负荷,从而提升开机速度。 3. 更新系统和应用程序:及时更新系统和应用程序可以优化开机速度。新版本的系统和应用程序通常会修复一些bug,并且优化系统性能。可以定期检查系统更新和应用程序更新,并及时进行更新。 4. 减少开机项:在系统设置中,可以选择性地关闭一些不必要的开机项。这些开机项会在系统启动时加载,影响开机速度。可以根据自己的需求,选择性地关闭不需要的开机项。 5. 使用高速存储卡:如果设备支持外置存储卡,可以使用高速的存储卡来提升开机速度。高速存储卡读写速度更快,可以加快系统启动时间。 通过以上几个方法的结合使用,可以有效地优化rk3128 android5.1的开机速度,提升用户的使用体验。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值