############################################## # power on till android lock screen comes up # # get information : # --- cat /proc/bootprof # --- [kernel hacking] --> show timing information on printks # note : dont remove the battery , the nand will rescanning the file system # BootRom # Small piece of code that is hardwired in the CPU ASIC which preload # preload # uboot # kernel+BSP driver # nand mount (ubifs, yaffs, exit4) # zygote pre-load class (almost constant time) # package scanning (increased with more apk number) # --- packageManagerService开机启动扫描,管理所有的apk # --- 不单单是获取图标的,还要记录每个应用的activity的主图标,数目,名称,权限 ...... # apk init time (depends on setup apk) # boot animation is a cpu consuming task # ############################################## # how to reduce the boot time # preload (make sure processor clock rate is set max ) # uboot # ---Enable hardware ECC # ---Remove unnecessary modules from u-boot. # ---make sure that RAM timing values are adjusted properly so as to # achieve optimal RAM throughput. # ---Turn on I-Cache # # kernel # --- disable log # --- improve the NAND throughput and the RAM throughput # --- 修改内核img的打包方式,无压缩内核启动时间比较快,缺点是占用多一点的空间 # android # --- moving to UBIFS file system can significantly reduce the boot up time # --- reduce apk (the best way) # --- decrease file numbers and size (less size , less loading time) # --- reduce/remove the android pre-loading classes (but the side effect is that when start a app will slow ) # --- reduce the animation (low fps , low size picture) # --- 启动systemserver的时候,减少我们的service启动项,剔除我们不需要的一些service # 在后台持续运行的守护进程,不断的去读取binder设备,看有没有访问系统service的请求。 # --- # # # ####################################################