Android-分析并优化首页启动时间
来源:互联网 发布:三星手机智能网络切换 编辑:程序博客网 时间:2024/06/10 03:55
前言
随着app项目越来越大,功能业务越来越多,需要我们初始化的模块也越来越多,application中onCreate和attachBaseContext方法越来越臃肿,最直接导致的是我们app启动时间大大增加
性能分析
首页HomeActivity
执行命令
am start -W com.wuba/com.wuba.home.activity.HomeActivity
输出结果:
Starting: Intent { act=android.intent.action.MAIN cat=[android.intent.category.LAUNCHER] cmp=com.wuba/.home.activity.HomeActivity }
Status: ok
Activity: com.wuba/.home.activity.HomeActivity
ThisTime: 1858
TotalTime: 1858
WaitTime: 1925
Complete
启动页面LaunchActivity
执行命令
adb shell start -W com.wuba/com.wuba.activity.launch.LaunchActivity
输出结果
Starting: Intent { act=android.intent.action.MAIN cat=[android.intent.category.LAUNCHER] cmp=com.wuba/.activity.launch.LaunchActivity }
Status: ok
Activity: com.wuba/.activity.launch.LaunchActivity
ThisTime: 1134
TotalTime: 1134
WaitTime: 1147
Complete
启动场景
冷启动
也就是我们常说的冷启动,这时候你的应用程序的进程是没有创建的. 这也是大部分应用的使用场景.用户在桌面上点击你应用的 icon 之后,首先要创建进程,然后才启动 MainActivity.这时候adb shell am start -w packagename/xxxActivity 返回的结果,就是标准的应用程序的启动时间(注意 Android 5.0 之前的手机是没有 WaitTime 这个值的):
Starting: Intent { act=android.intent.action.MAIN cat=[android.intent.category.LAUNCHER] cmp=com.wuba/.home.activity.HomeActivity }
Status: ok
Activity: com.wuba/.home.activity.HomeActivity
ThisTime: 1858
TotalTime: 1858
WaitTime: 1925
Complete
热启动
就是应用不是第一次启动,如果是你按Back键,并没有将应用进程杀掉的话,那么执行上述命令就会快一些,因为不用创建进程了,只需要启动一个Activity即可。这也就是我们说的应用热启动。
参考资料
http://www.open-open.com/lib/view/open1451570355573.html
- Android-分析并优化首页启动时间
- Android 启动时间优化 <22>
- Android启动时间优化查看及冷启动时间优化优化
- Bootchart分析Android启动时间
- android项目性能优化之启动时间
- Android 彻底去除启动白屏,并减少启动时间
- android bootchart 分析开机启动时间
- Android与YunOS 启动时间分析
- Android 性能优化——启动时间优化指南
- Android性能优化典范第5季-优化启动时间
- Android性能优化实战(一)----App启动时间优化
- Android性能分析-启动速度优化
- Android App应用启动分析与优化
- Android App应用启动分析与优化
- DM355 启动时间优化
- 内核启动时间优化
- 启动时间优化方案
- Kernel启动时间优化
- selected device is not a touchscreen I understand
- 创建一个Django后台帐号
- POJ 3723 conscription 最大生成树
- 小白也能当大神-mysql数据库引擎分析
- 11.9模拟赛
- Android-分析并优化首页启动时间
- 小白笔记--------------leetcode(383. Ransom Note)
- 故乡(张帆词陆华柏曲)
- SparkSession简单介绍
- Android的Service的基础知识和见解
- Linux装机指南
- javascript基础笔记(十七)之js的bom对象
- SpringMVC整合Shiro
- Handler导致内存泄露分析