前言
记录一下App启动优化,方便自己查阅。
正文
App启动时间检测
adb shell am start -W com.biumall.demo/.MainActivity
运行结果
ThisTime: 最后一个Activity启动时间 [上面指定了是MainActivity启动时间]
TotalTime: 一系列Activity启动时间 [启动过程中所有Activity的启动时间]
WaitTime: 总启动时间,包含系统在冷启动时需要加载资源到内存的时间。
PS: TotalTime是启动中所有Activity时间,也就是除了MainActivity还有过度的SplashActivity启动时间。
统计代码执行时间
方式一
//存放的目录可以自己指定。这里只是一个实例而已
File file = new File(Environment.getExternalStorageDirectory(), "app.trace");
Debug.startMethodTracing(file.getAbsolutePath());
//开始统计
//业务逻辑
//结束统计
Debug.stopMethodTracing();
然后把内置sdcard中的app.trace进行pull出来,并拖入Android Studio中。
方式二
这种只是看是否耗时,至于代码中哪个地方耗时,需要自己排查。
打印代码开始的时间和结束的使用时间,然后end-start就是耗时时间。
long start = SystemClock.uptimeMillis();
long end = SystemClock.uptimeMillis();
个人推荐方式一
优化
- 异步加载
- 延迟加载和初始化
参考文章
© 版权声明