所谓冷启动:即首次启动,一般用户第一感受就是应用程序第一次启动时间长短
所以衡量一个程序第一次启动时间意义很重要
界面与界面切换也很重要,我们可以设计自动化打开不同的Activity界面
Adb log里面会有相应的字符串打印出来
I/ActivityManager( 619): Displayed com.android.browser/.BrowserActivity: +1s393ms
I/ActivityManager( 619): Displayed com.android.systemui/.recent.RecentsActivity: +272ms
I/ActivityManager( 619): Displayed com.android.browser/.BrowserActivity: +1s291ms
I/ActivityManager( 619): Displayed com.android.browser/.BrowserPreferencesPage: +421ms
I/ActivityManager( 619): Displayed com.android.browser/.BrowserPreferencesPage: +745ms
通过这些数字,我们可以简单地计算多次平均值,这样就可以衡量activity的performance了,不过这个不等于真正的用户看到的performance,因为这个显然相当快,比用户看到的快,但是因为我们比较的话,同样的基准,还是有意义的。
真正的用户体验的performance需要用高速相机数帧计算的方式了。
冷启动performance需要我们杀掉原来的process
adb shell kill `adb shell ps | grep processName | awk '{printf $2}'`