APP的启动速度大概可以分为3类,
1、应用首次安装之后首次启动的时间
2、应用非首次启动的时间
3、应用存活在后台,重新进入应用的时间。
看你想比较的是哪一个,同时也应该尽量保证测试环境的一致,比如说同时没有其他的应用程序运行在后台等等,减少误差。
测试方法有以下三种:
一、使用秒表来计算。
这是最 简单、最容易操作、同时误差也最大的方法。
二、使用adb命令来测试。
a、清除掉所有在后台运行的应用程序
b、打开命令行,执行:adb shell am start -W -n 包名/包名+类名),例如,adb shell am start -W -n com.UCMobile/com.UCMobile.main.UCMobile。
adb shell am start -W -n 包名/包名+类名)eg:
其中thistime是打开应用到应用显示主页的时间,TotalTime是连接服务器和进入主页所用的时间。
三、在Eclipse中使用LogCat来获取。
a、打开Eclipse,连接手机,创建过滤条件:Fliter Name:Distplay By Log Tag:ActivityManager.
b、打开想要测试的应用程序,为了方便查看,可在过滤框加多一个:Display,可得结果如下:
同样的道理,前面的相当于thistime,后面的就是totaltime。
注意:找到影响启动速度的原因(如UI线程的一些耗时操作),将其移动到合适的地方,还有一些后台的任务,可以在适合的时机再去开启,还有在使用第二种方法的时候,如果是想要测试别人的APP,这时候不能直接得到应用程序的包名等信息,这时候需要通过反编译的方式来获取,反编译的具体步骤可以参考我的另外一篇博客: