启动监控需要使用 qapmplugin 插件在编译期间进行插桩操作,默认插桩点为 Application 与 Activity 的各个生命周期。在 App SDK 统计默认的启动耗时为 Application 的 attachBaseContext 到第一个 Activity 的 onResume 结束。
前提条件
在 App 级别的 build.gradle 中配置了 qapm-plugin 插件。
配置步骤
1. 需要手动添加一个 Application 的子类,例如 BaseApplication(名称不作要求,子类可以不用实现任何方法,可以不用添加任何属性)。
2. 在 AndroidManifest.xml 文件的 application 的节点添加 android:name 属性,属性的 value为“包名+Application 子类的类名”。
额外打点
如果想统计启动区间内的某些方法的耗时,则需要额外的打点,示例如下:
参见代码:
QAPM.beginScene(StageConstant.QAPM_APPLAUNCH, "xxx方法名", QAPM.ModeResource);/**业务逻辑*/QAPM.endScene(StageConstant.QAPM_APPLAUNCH, "xxx方法名", QAPM.ModeResource);
如果想自定义启动的结束点,则需要在第一个 Activity 调用 onResume 的20s内额外打点,示例如下:
参见代码:
/*** 需要自定义结束点的用户需要在onResume之后的20s内,否则以APM的结束点为准*/QAPM.endScene(StageConstant.QAPM_APPLAUNCH, QAPM.ModeResource);
校验功能是否正常
每次启动后20s或者切换到后台,如打印以下日志,则代表启动指标数据上报成功。
检索 TAG: [plugin::114]
注意:
需要使用 qapmplugin 插件进行插桩才可用,并且需要手动增加一个 Application 的子类。否则无效。
启动总耗时大于2.5s才会上报个例数据。
启动的问题数据可以在 终端性能监控 > 启动 > 问题列表 查看。