开机优化,有uboot优化,kenel优化,android核心层优化。
uboot优化:
1) setenv bootcmd1 "nand read.jffs2 0x62000000 kernel 0x180000 ; bootm 62000000"
这样 load内核的时候 从以前0x300000的3M->1.5M 省1S
2)setenv bootdelay 1 从2变为0 加上CONFIG_ZERO_BOOTDELAY_CHECK
3) quiet=1
bootargs=root=/dev/mtdblock4 rootfstype=yaffs2 console=ttyDW0 mem=64M mtdparts=dwnand:3m(kernel),3m(splash),64m(rootfs),-(userdata);dwflash.0:384k(u-boot),128k(u-boot_env) quiet
加上quiet 省不到1S
4)启动的时候不扫描整个芯片的坏块,因为uboot只会用到kernel和splash区,只需要检验这两个区的坏块。
可以省不到 0.2s ,没什么明显的改进
5) 将环境变量verify 设置为n ,这样load kernel 后,不会去计算校验 kernel image的checksum
6)开始打印公司 这些可以去掉 ,在这里还有delay ,以及其他的一些不必要的打印 ,一起去掉
8)在环境变量区的末尾, 存有CRC,启动的时候会校验CRC ,去掉可以省一些时间
9)把一些驱动的初始化在正常启动的时候不执行,当用户按了键,进入uboot命令模式的时候执行
10) 修改SDRAM控制器时序
kernel优化:
1 修改内核img的打包方式,无压缩内核启动时间比较快,缺点是占用多一点的空间
2 减少一些不必要的内核驱动的sleep时间,减少log打印信息
3 文件系统的类型,比如yaffs2 ubifs各有各自的好处
android核心层优化:
在linux内核启动完后,要执行init进程,这是用户空间的第一个进程。在这个进程里要去解析init.rc的配置文件,去加载我们的看机启动项。解析配置文件过程最主要启动一个servicemanager进程,和启动一个zygote,servicemanger主要作用就是管理我们的系统service,它启动完成后变成一个在后台持续运行的守护进程,不断的去读取binder设备,看有没有访问系统service的请求。
zygote进程就是我们android虚拟机的诞生地,在zygote进程里调用了一个叫app_runtime,同时调用了app_runtime的start方法,这个过程就是创建我们的dialivk虚拟机同时启动我们的systemservice,在启动了一大堆的systemservice(eg:activitymanagerservice,powermanagerservice................)后在把它注册到servicemanager里面.
1.采用check point方式每次直接将zygote还原到完成类加载的阶段避开频繁的类操作可以提高速度。
利用BLCR加快android的启动过程:http://blog.csdn.net/shuaiff/archive/2010/09/19/5894646.aspx
2.在启动systemserver的时候,减少我们的service启动项,剔除我们不需要的一些services。
3.越少的apk安装,越短的启动时间,减少scan packages花费的时间。
分享到:
相关推荐
因项目需要,综合网上资源,对android开机启动速度优化的一些总结
里面包含了Android 开机过程详细介绍及开机速度优化的方法
3128 Android 开机启动速度优化文档
android的开机启动优化策略,,加速开机启动时间。。
Android 开机自启动应用, BOOT_COMPLETED
Android开机向导setupwizard,设置系统语言,WiFi向导 详细介绍:http://blog.csdn.net/qq_25804863/article/details/48669149
android开机启动android开机启动service android开机启动android开机启动service android开机启动android开机启动service android开机启动android开机启动service
源码提供了一个简单的Android 开机向导源码,主要展示了一个Android 的开机向导如何配置才能在开机后正常运行。源码可以再Eclipse中运行,在Android 5.0基础上研发。
android开机流程讲解很详细
首先,开机动画的地址:system\media\bootanimation.zip。。。要修改开机动画就是修改bootanimation这个文件。如果说你的手机里没有这个文件,那就是说明你用的是官方原始版本的rom开机动画没有被修改过,但这不碍事...
android开机自动启动service例子 android开机自动启动service例子
Android 9 添加开机音乐
Android开机流程Android开机流程Android开机流程Android开机流程Android开机流程
Android 开机动画启动过程详解, 方便定制自己的开机动画
Android 开机默认是不会打开wifi热点的,即使上次手动打开了wifi热点,改修改可以保存上次打开热点的状态,实现开机打开wifi热点功能
Android系统定制,开机LOGO修改方案,开机动画修改方案,附件带有开发笔记,基于Android 5.1,高通平台msm8909定制。
Android开机自检,当手机开机时自动检测GPS,CP,Wifi等模块,来判断手机各模块当前状态
Android 开机启动, 设置开机启动选项。
Android开机动画修改,其中还提到了 1、desc.txt文件详解 2、bootanimation.zip is compressed; must be only stored报错的解决方法 3、播放开机动画的核心代码