前言

记录一下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();

个人推荐方式一

优化

  1. 异步加载
  2. 延迟加载和初始化

参考文章

相关文章

暂无评论

none
暂无评论...