定向班第二期_专项测试_20191221

参考资料

启动时间

package=com.xueqiu.android
清理缓存数据:adb shell pm clear $package
停止进程:adb shell am force-stop $package
启动app:adb shell am start  -S -W $package/.view.WelcomeActivityAlias
获取数据:adb logcat |grep -i displayed


get_cool_startup_time(){
package=com.xueqiu.android
#清理缓存数据
adb shell pm clear $package
#停止进程:
adb shell am force-stop $package
#启动app:
adb shell am start  -S -W $package/.view.WelcomeActivityAlias
}

最关注的:冷启动、首屏时间、首次安装/补丁/无缓存的启动时间。
不需要关注的:温启动、热启动

H5的性能

window.performance.getEntriesByName(document.querySelector('img').src)[0]

卡顿

卡顿bug

  • frozen frame
  • slow render
adb shell dumpsys gfxinfo com.xueqiu.android

系统利用率

get_cpu_mem_by_pid ()
{
    uid=$(adb shell ps | grep "$1"| awk '{print $2}' | head -1);
    while true; do
        adb shell top -n 1 -d 1 -b -o %CPU,%MEM,CMDLINE -p $uid | grep "$1";
    done
}

Profile

seveniruby:~ seveniruby$ which monitor
/Users/seveniruby/Library/Android/sdk//tools/monitor
seveniruby:~ seveniruby$ java -version
java version "1.8.0_51"

作业1

找到某款app的webview,分析其中某个关键页面的性能,把devtool中的资源加载流图贴出来。

作业2

分析自己公司的app启动时间,把关键的启动过程直到首屏完整加载的过程制作成一个gif,贴到回复里(ffmpeg可以)

作业3

分析自己的app中的疑似卡顿的功能,使用systrace抓取这部分的渲染过程,并找出解析时间最长的一帧的截图,贴到回复里

关闭