app启动速度

跟踪代码发现,应用启动时的白屏会持续到draw调用完成,这个过程中任何耗时操作将导致白屏时间增长。

1.adb shell am start -W -n yourpakagename/MainActivity

 -W: wait for launch to complete 这里的launch to complete一直没理解是到哪里

优点:可快速测试启动时间,与其他应用进行对比。

但第一个页面展示的时间不太一样。

2.System.currentTimeMillis()

本打算用它测试1到底是谁的时间,可惜date +%s%N在android里面不好使,只能打印秒,没有纳秒也就无法显示毫秒。

虽然其他应用可以在调用shell之前打印时间,但打印时间到shell执行中途似乎时间很不准备。也就无法考证了。

2. Log.e("TimeRun", "resume " + android.os.Process.getElapsedCpuTime());

打印进程运行时间,和2一样,快速分析不好使,具体分析也不好使。

3.还是traceView在大概知道程序有问题的情况下好使

android.os.Debug.startMethodTracing("application");

android.os.Debug.stopMethodTracing();

生成/sdcard/application.trace文件,使用traceview打开可以跟踪启动时耗时的函数

app启动速度

我的程序启动在1s以上,发现大部分消耗在布局和绘图上,原来如果布局中每增加一个比较大的imageview时,上述时间都会数十上百毫秒的时间递增。

而前面为了匹配各种机型,直接使用了720*720的图片,背景,遮罩,等等有5层,这个速度直线飙升呀。

以后还是针对不同机型采用不同的尺寸吧。对于大尺寸的,希望有哪位朋友能帮忙指点一下。

 

最好还是结合1和3共同分析

app启动速度,布布扣,bubuko.com

app启动速度

上一篇:Selenium之Android使用学习


下一篇:Android 单击图片切换效果