Skip to content

0x02b Apply AndroidGodEye for Release_zh

AndroidKy edited this page Mar 31, 2020 · 7 revisions

生产环境使用AndroidGodEye

你可能会希望在生产环境下使用AndroidGodEye来监控线上用户的App性能,一般调用observeModule方法来消费性能数据,并在回调中上报到服务端即可:

        try {
            GodEye.instance().observeModule(GodEye.ModuleName.HEAP, new Consumer<HeapInfo>() {
                @Override
                public void accept(HeapInfo heapInfo) throws Exception {
                    // 这里可以上报服务端
                    Log.d("AndroidGodEye",String.valueOf(heapInfo));
                }
            });
        } catch (UninstallException e) {
            e.printStackTrace();
        }

生产配置

生产包中的配置需要修改2个地方

一、关闭通知

buildTypes {
  release {
      // 关闭通知
      resValue("bool", "android_god_eye_need_notification", "false") 
  }
}

二、 修改模块配置

由于一些模块会对性能有影响,所以不适合在线上使用

buildTypes {
  release {
      // 指定不同的模块配置路径
      resValue("string", "android_god_eye_install_assets_path", "android-godeye-config/release_install.config") 
  }
}

模块配置细节说明

不需要的模块可以不在xml文件中声明

模块名称 描述 是否可在生产使用 说明
CPU 手机和App Cpu检测 每隔一段时间上报对数据统计来说没有意义,但可用于单用户排障
BATTERY 电池检测 -
FPS 帧率检测 不建议 对性能会有轻微影响,如果检测卡顿请使用SM模块
LEAK_CANARY 内存泄漏检测 生产包不要安装此模块
HEAP 运行堆内存占用检测 每隔一段时间上报对数据统计来说没有意义,但可用于单用户排障
PSS 实际物理共享内存占用检测 每隔一段时间上报对数据统计来说没有意义,但可用于单用户排障
RAM 手机内存 每隔一段时间上报对数据统计来说没有意义,但可用于单用户排障
NETWORK 网络请求检测 -
SM 卡顿检测 注意设置卡顿的阈值,防止卡顿过多上报影响用户性能
STARTUP 启动检测 -
TRAFFIC 手机和App流量检测 -
CRASH Java、Native崩溃/ANR -
THREAD App线程即堆栈Dump检测 每隔一段时间上报对数据统计来说没有意义,但可用于单用户排障
PAGELOAD 页面加载和生命周期检测 -
METHOD_CANARY 方法耗时检测 'cn.hikyson.methodcanary.plugin' 配置修改 AndroidGodEye { enableMethodTracer false }
APP_SIZE App大小,包括apk、存储和缓存 -
VIEW_CANARY 视图层级、过度绘制检测 不建议 对性能有轻微影响
IMAGE_CANARY 图片不合理内存占用检测 -
Clone this wiki locally