Android bootchart(二)
发布日期:2021-06-30 18:53:31 浏览次数:4 分类:技术文章

本文共 3815 字,大约阅读时间需要 12 分钟。

这篇文章讲一下MTK8127开机启动的时间

MTK8127发布版本开机时间大约在20秒左右,如果发现开机时间变长,大部分是因为加上了客户订制的东西,代码累赘太多了。

1、下面看一下MTK开机花时间的是哪些动作

1-1 kernel初始化 

1-2 加载NAND分区 

1-3 启动Android

   1-3-1 加载类 在zygote里面加了 时间发现 这个时间确实很长

   1-3-2 包扫描

   1-3-3 应用扫描

如何查看启动时间的相关时间点呢?看下面

root@mid713l_lp_lvds:/ # cat /proc/bootprof                                    
----------------------------------------
0        BOOT PROF (unit:msec)
----------------------------------------
      4098        : preloader
       722        : lk
      1829        : lk->Kernel
----------------------------------------
      8743.419000 : Kernel_init_done
      8758.075154 : SElinux start.
     14921.341308 : SElinux end.
     15750.858462 : INIT: on init start
     16147.198077 : INIT:NAND:Mount_START
     32627.899693 : INIT:NAND:Mount_END
     32630.724232 : INIT:PROTECT:fat start
     32733.226540 : INIT:PROTECT:fat end
     32736.114693 : INIT:PROTECT_RAW_DISK:Mount_START
     33582.732924 : INIT:PROTECT_RAW_DISK:Mount_END
     34489.614386 : INIT: eng build setting
     38913.817386 : BOOT_Animation:START
     57958.511387 : Zygote:Preload Start
     61800.738080 : Zygote:Preload 2774 classes in 3827ms
     62764.249541 : Zygote:Preload 274 obtain resources in 941ms
     62800.117541 : Zygote:Preload 31 resources in 35ms
     62890.361695 : Zygote:Preload End
     63355.167926 : Android:SysServerInit_START
     64077.987388 : Android:PackageManagerService_Start
     64640.584772 : Android:PMS_scan_START
     70069.473157 : Android:PMS_scan_done:/custom/framework
     70141.781234 : Android:PMS_scan_done:/system/framework
     71685.662234 : Android:PMS_scan_done:/system/priv-app
     75316.111234 : Android:PMS_scan_done:/system/app
     75327.165004 : Android:PMS_scan_done:/system/vendor/app
     75328.890158 : Android:PMS_scan_done:/system/vendor/operator/app
     75330.559850 : Android:PMS_scan_done:/custom/app
     75337.836927 : Android:PMS_scan_data_start
     75418.824465 : Android:PMS_scan_data_done:/data/app
     75420.457542 : Android:PMS_scan_data_done:/data/app-private
     75422.520927 : Android:PMS_scan_END
     75840.712234 : Android:PMS_READY
     80126.832927 : AP_Init:[service]:[com.android.systemui]:[com.android.keyguard/.KeyguardService]:pid:809
     82539.565158 : AP_Init:[service]:[com.mediatek.security]:[com.mediatek.security/.service.PermControlService]:pid:851
     83699.413696 : AP_Init:[content provider]:[android.process.acore]:[com.android.providers.contacts/.ContactsProvider2]:pid:920
     85690.594004 : AP_Init:[service]:[com.google.android.inputmethod.latin]:[com.google.android.inputmethod.latin/com.android.inputmethod.latin.La
     87394.339466 : AP_Init:[broadcast]:[com.google.android.gms]:[com.google.android.gms/com.google.android.location.internal.NlpNetworkProviderSet
     91038.825466 : AP_Init:[added application]:[com.android.phone]:[com.android.phone]:pid:990:(PersistAP)
     91111.352389 : AP_Init:[added application]:[com.mediatek.voicecommand]:[com.mediatek.voicecommand]:pid:1003:(PersistAP)
     91179.826158 : AP_Init:[added application]:[com.mediatek.bluetooth]:[com.mediatek.bluetooth]:pid:1018:(PersistAP)
     91248.128928 : AP_Init:[added application]:[com.mediatek.dongle]:[com.mediatek.dongle]:pid:1036:(PersistAP)
     91372.823851 : AP_Init:[activity]:[com.android.launcher3]:[com.android.launcher3/.Launcher]:pid:1052
     91390.517158 : Android:SysServerInit_END
     91448.375543 : AP_Init:[service]:[com.android.printspooler]:[com.android.printspooler/.PrintSpoolerService]:pid:1067
     97597.181851 : AP_Init:[content provider]:[android.process.media]:[com.android.providers.downloads/.DownloadProvider]:pid:1100
     97846.665697 : AP_Init:[content provider]:[com.google.process.gapps]:[com.google.android.gsf/.gservices.GservicesProvider]:pid:1119
    103043.537698 : AP_Init:[broadcast]:[com.google.process.location]:[com.google.android.gms/com.google.android.location.network.LocationProviderC
    108608.975006 : BOOT_Animation:END

2、再来看一下 各个阶段的时间 可以通过平板上显示的图标看出来

     16147.198077 : INIT:NAND:Mount_START

     32627.899693 : INIT:NAND:Mount_END

从这个日志看 NAND 挂载花了16秒多 这个时间肯定要优化一下,要不然开机时间消耗太大

3、从日志分析时间

转载地址:https://linus.blog.csdn.net/article/details/49658935 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:Android Camera框架
下一篇:Android启动过程深入解析

发表评论

最新留言

很好
[***.229.124.182]2024年04月21日 10时59分51秒