简介
通过Hook系统API实现启动时长、生命周期、UI绘制时间的检测,达到定量分析Activity性能问题的目标。
背景:
随着项目功能越来越多,存在部分页面启动时长过长的问题。需要一套定量统计启动过程中各个流程耗时多少的方案。
解决方案:
利用对系统ActivityThread中Instrumentation、Handler等系统API的hook,实现自动检测activity UI绘制时长、onCreate()、onStart()、onResume()等生命周期执行时长,Activity启动等时长。
下图是部分activity的启动流程,在Instrumentation的executeStartActivity() 打第一个点。
activ