前提条件
功能配置
开启监控
初始化需要开启卡顿监控。卡顿无需埋点,而掉帧率需要额外埋点,建议打点在滑动列表上,如(ListView、GridView、RecyclerView 等)。
掉帧率埋点
在每次滑动前调用 QAPM.beginScene("xxx滑动", QAPM.ModeDropFrame);
在滑动结束后调用 QAPM.endScene("xxx滑动", QAPM.ModeDropFrame);
一般可以通过重写滑动组件 onScrollStateChanged 方法来实现,示例如下:
@Overridepublic void onScrollStateChanged(AbsListView view, int scrollState) {if (scrollState == AbsListView.OnScrollListener.SCROLL_STATE_IDLE) {QAPM.endScene("xxx滑动", QAPM.ModeDropFrame); //xxx滑动名称由您自定义,您可以填写任意名称} else {QAPM.beginScene("xxx滑动", QAPM.ModeDropFrame);//xxx滑动名称由您自定义,您可以填写任意名称}
校验功能是否正常
检索 TAG:QAPM_dropframe_DropFrameMonitor
滑动结束(调用 endScene)后,打印出以下日志则代表掉帧率数据已经存入了本地数据库:
检索 TAG: [plugin::101]
存在 App 本地数据库的掉帧数据将会上报,打印以下数据,代表上报成功:
检索 TAG: QAPM_looper_LooperPrinter
如打印以下日志,则代表卡顿监控正常:
如打印以下日志,则代表卡顿上报正常:
说明:
为避免出现卡死的情况,接口回调里的逻辑请尽量简单明了。
上传的文件大小限制为20MB,大于限制则不上传,请选择认为有帮助的日志文件。
掉帧数据在 终端性能监控 > 卡慢分析 中查看。
卡慢数据在 终端性能监控 > 卡慢问题列表 中查看。