Android性能分析之启动优化

今天,同事做的一个启动屏广告的任务提测了 ,然后产品在验收的时候,觉得启动太慢,问问能不能优化,而我再敲了一天的代码后,有点烦,不想敲了,而碰巧,听到了这话,然后就寻思着,要不研究一发?ok,那就干呗。打开终端:
输入:
adb shell
am start -W 包名/包名.LauncherActivity
然后等了一会:

image.png

嗯嗯,6秒,冷启动的情况下6秒,第一反应,肯定是applicatation中初始化的库多了。是时候基础as的神器了,我的AS版本是3.5.2
首先,工具栏选择 run-> Edit configuration,打开后切换到Profiling


Android性能分析之启动优化_第1张图片
image.png

第一个勾上,第二个勾上,
第二个下面选择 Sample Java Methods
点击apply 后,关掉窗口,再选择 run->Profile('app')
然后等着吧,漫长的等待过后,应用启动了,跳到了主界面
这个时候点你的as界面上的stop

Android性能分析之启动优化_第2张图片
image.png

之后左边中间部分的THREADS选择到你的应用,选中call chart,然后就出现了,你应该关注的东西(绿色的部分)

Android性能分析之启动优化_第3张图片
image.png

这是我的application的onCreate方法,执行了3秒,为啥?继续看下面格子


Android性能分析之启动优化_第4张图片
image.png

第一个是dagger的inject执行了1.07秒


Android性能分析之启动优化_第5张图片
image.png

第二个是另一个子类application的onCreate执行了1.6S,
好吧,再细分怎么看,你鼠标往下面格子移动,慢慢查看,怎么解?那肯定是这篇文章到此结束,我慢慢琢磨怎么解决了,

你可能感兴趣的:(Android性能分析之启动优化)