Skip to content

Android自动化测速,// TODO 插桩+可定制化

Notifications You must be signed in to change notification settings

commutescript/autospeed_v2

Repository files navigation

autospeed_v2

使用AOP的形式,实现自动化测速,主要包括:冷启动时间,页面渲染时间,网络API加载时间,网络流量监控

冷启动时间

从自定义application的构造器开始记时,到第一个用户可操作界面渲染完成为至;

页面渲染时间

view的绘制流程如下:1)绘制背景,2)onDraw(),3)dispatchDraw(),4)绘制其他的装饰。因此可以使用一个FrameLayout对每个界面的root view 进行包装,其dispatchDraw()执行完的时间,即为渲染完成时间。但是这里会存在多次渲染的问题,invalidate()方法会依次回溯到根view,并调用draw()方法,最后绘制脏数据区。因此会多次调用dispatchDraw()方法,这里将渲染分为2中:初始渲染和网络二次渲染,只在满足特定的记录条件时,才记录时间。

网络API加载时间/网络流量

如果使用了统一的网络库,那么会比较好做

TODO

  1. 使用ASM插桩,无潜入式的进行测速;
  2. 对特定界面和特定接口进行测速;
  3. 生成唯一不变的pageId;
  4. Fragment;

About

Android自动化测速,// TODO 插桩+可定制化

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages