此文章适用于所有的Android设备开机优化。

开机优化主要有以下几个部分:

1. bootloader优化

2. Kernel优化

3. Android启动优化

准备

统计开机时间

一般根据串口打印的信息里面的时间标签来统计开机时间,虽然不是很准确,却基本有效。

bootloader优化

一般来说,bootloader的时间是比较短的,可以优化的工作也不多。但是有一个普遍可以优化的选项,就是Android AVB.

AVB(Android Verify Boot) 如果在你的项目中不需要使用,可以关闭。

         AVB 的使能Config
   CONFIG_ANDROID_AVB=y
   CONFIG_AVB_LIBAVB=y
   CONFIG_AVB_LIBAVB_AB=y
   CONFIG_AVB_LIBAVB_ATX=y
   CONFIG_AVB_LIBAVB_USER=y

    

kernel优化

首先,打开启动debug,获取驱动加载的时间,在bootargs中添加

         initcall_debug loglevel=8

    
  1. 根据日志信息,优化驱动。一些确定不使用的驱动,直接在config中关闭。

  2. 如果是通过设备树来兼容硬件的,在dts上disable

  3. 如果某些驱动需要,但是又加载时间太长,考虑做成ko的方式

Android启动优化

  1. 使用bootchart工具,分析开机过程中的行为,查看是否有需要优化的地方。

其他不正经的优化

  1. 在init.rc中,根据系统启动的阶段,做一些CPU和DDR做一些定频的工作。

     

on early-init
	   dosomething  #给CPU和DDR设置超频,让速度飞起来
	   
on property:sys.boot_completed=1
	   dosomething  #启动完成了,回到发飙前的状态
  1. 在init过程中,肯定很多的IO操作,那么,也可以先让IO效率彪一会儿车。

        

     on late-fs
	    ...
     on property:sys.boot_completed=1
	    ...

Logo

智屏生态联盟致力于大屏生态发展,利用大屏快应用技术降低开发者开发、发布大屏应用门槛

更多推荐