02.App启动性能分析

发布时间 2023-12-26 23:33:43作者: 想要暴富的小男孩

1.Activity启动流程

主要流程:

Application OnCreate 加载第三方的sdk

Activity OnCreate   加载自身的逻辑

xxx.json   发送远程数据请求

List  渲染界面

2.app启动性能指标

冷启动:新安装或者刚刚由关闭打开,冷启动不超过5秒

暖启动:系统把进程杀掉,但是还放在后台,不超过2秒

热启动:放到后台,不超过1.5秒

首屏启动:比如广告加载

adb logcat

录屏+视频拆帧

uiautomator等自动化工具200ms巡检界面变化

traceview

硬埋点

3.使用adb logcat

package=com.xueqiu.android

adb shell pm clear $package  清理缓存数据

adb shell am force-stop $package 停止进程

adb shell am start -S -w $package/.view.WelcomeActivityAlias  启动app  -S:在启动之前先停掉app  -W:等待activity启动完成

adb logcat | grep -i displayed 获取数据

4.adb logcat结果

startTime: 记录刚准备调用startActivityAndWait()的时间点

endTime: 记录startActivityAndWait()函数调用返回的时间点

WaitTime: startActivityAndWait()调用耗时

WaitTime = endTime - startTime

 5.使用ffmeg拆帧

adb shell am force-stop $package(包名)

adb shell screenrecord --bugreport --time-limit 30/data/local/tmp/xueqiu.mp4 &

adb shell am start -S -W $package/.view.WelcomeActivityAlias
wait30秒
adb pull /data/local/tmp/xueqiu.mp4 要下载的目录 . 当前目录

ffmpeg -i xueqiu.mp4 xueqiu.gif
ffmpeg -i xueqiu.mp4 -r 10 frames_%03d.jpg