Skip to content

0x02b Apply AndroidGodEye for Release_zh

hui.zhao edited this page Feb 14, 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();
        }

由于部分模块对性能会有一定影响,所以如果在生产环境使用AndroidGodEye需要特别注意:

模块名称 描述 是否可在生产使用 说明
CPU 手机和App Cpu检测 每隔一段时间上报对数据统计来说没有意义,但可用于单用户排障
BATTERY 电池检测 -
FPS 帧率检测 不建议 对性能会有轻微影响,如果检测卡顿请使用SM模块
LEAK 内存泄漏检测 特别注意模块配置中请设置debug为false,debugNotification为false,这样只会检测内存泄漏的页面,而无法分析泄漏的Gc Root Path,可用于生产的统计
HEAP 运行堆内存占用检测 每隔一段时间上报对数据统计来说没有意义,但可用于单用户排障
PSS 实际物理共享内存占用检测 每隔一段时间上报对数据统计来说没有意义,但可用于单用户排障
RAM 手机内存 每隔一段时间上报对数据统计来说没有意义,但可用于单用户排障
NETWORK 网络请求检测 -
SM 卡顿检测 模块配置中请设置debugNotify为false,并注意设置卡顿的阈值,防止卡顿过多上报影响用户性能
STARTUP 启动检测 -
TRAFFIC 手机和App流量检测 -
CRASH Java、Native崩溃/ANR -
THREAD App线程即堆栈Dump检测 每隔一段时间上报对数据统计来说没有意义,但可用于单用户排障
PAGELOAD 页面加载和生命周期检测 -
METHOD_CANARY 方法耗时检测 生产包请在Application Module Project('com.android.application')的build.gradle不要apply plugin: 'cn.hikyson.methodcanary.plugin'
APP_SIZE App大小,包括apk、存储和缓存 -
VIEW_CANARY 视图层级、过度绘制检测 不建议 对性能有轻微影响
IMAGE_CANARY 图片不合理内存占用检测 -

Clone this wiki locally