热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

android监控方法耗时开源库,【开源完整项目】AndroidGodEye监控Android数据指标

AndroidGodEyeAndroid开发者在性能检测方面的工具一直比较匮乏,仅有的一些工具,比如AndroidDeviceMonitor࿰

24ed824d6f4ef22504d4c9b14be2d961.png

AndroidGodEye

6e25ff4eea25ca607da285cbc669569c.png

AndroidGodEye是一个可以在PC浏览器中实时监控Android数据指标(比如性能指标,但是不局限于性能)的工具,你可以通过wifi/usb连接手机和pc,通过pc浏览器实时监控手机性能。

系统分为三部分:

Core 核心部分,提供所有模块

Debug Monitor部分,提供Debug阶段开发者面板

Toolbox 快速接入工具集,给开发者提供各种便捷接入的工具

AndroidGodEye提供了多种监控模块,比如cpu、内存、卡顿、内存泄漏等等,并且提供了Debug阶段的Monitor看板实时展示这 些数据。而且提供了api供开发者在release阶段进行数据上报。

快速开始

STEP1

引入依赖,使用gradle

dependencies {

implementation 'cn.hikyson.godeye:godeye-core:VERSION_NAME'

debugImplementation 'cn.hikyson.godeye:godeye-monitor:VERSION_NAME'

releaseImplementation 'cn.hikyson.godeye:godeye-monitor-no-op:VERSION_NAME'

implementation 'cn.hikyson.godeye:godeye-toolbox:VERSION_NAME'

}

VERSION_NAME可以看github的release名称

STEP2

模块安装,GodEye类是AndroidGodEye的核心类,所有模块由它提供。

在应用入口安装所有模块:

GodEye.instance().installAll(getApplication(),new CrashFileProvider(context))

推荐在application中进行安装

可选部分

不需要的时候卸载所有模块:

GodEye.instance().uninstallAll();

如果不想要所有的模块,你也可以自己安装想要的模块,比如GodEye.instance().cpu().install()

注意:network和startup模块不需要安装和卸载

安装完之后相应的模块就开始输出数据了,一般来说可以使用模块的consume方法进行消费,比如cpu模块:

GodEye.instance().cpu().subject().subscribe()

就像我们之后会提到的Debug Monitor,也是通过消费这些数据进行展示的

STEP3

Debug面板安装,GodEyeMonitor类是AndroidGodEye的Debug监控面板的主要类,用来开始或者停止Debug面板的监控。

开始消费GodEye各个模块数据并输出到Debug面板:

GodEyeMonitor.work(context)

结束消费,关闭Debug面板:

GodEyeMonitor.shutDown()

STEP4

完成!开始使用:

手机与pc连接同一网段,在pc浏览器中访问手机ip+端口。或者如果你是用USB连接的话,执行adb forward tcp:5390 tcp:5390,然后pc浏览器中访问http://localhost:5390/。

即可看到Debug面板!

端口默认是5390,也可以在GodEyeMonitor.work(context)中指定,一般在开发者在调用GodEyeMonitor.work(context)之后可以看到日志输出 'Open AndroidGodEye dashboard [ http://xxx.xxx.xxx.xxx:5390" ] in your browser...' 中包含了访问地址。

好吧,如果你懒得自己编译这个项目的话,你也可以先下载 APK 看看效果。

Debug开发者面板

点击下面预览↓

6f9a8418bfe2633ea5839f66aa6698df.png

Base info

73d82b82c3bfd02ba9ef59f6a3a8b5df.png

卡顿检测

0052d897dbcd6f3b3ad8815b623c0bce.gif

内存泄漏检测

506e2b13827c505080c64bcd79c5de61.gif

更多模块

16ac13c6b3fb9d4550099d077d2ada82.gif

还有更多...

模块详情

模块名需要安装数据引擎数据生产时机

cpu是内置定时

battery是内置定时

fps是内置定时

leakDetector是内置发生时

heap是内置定时

pss是内置定时

ram是内置定时

network否外部驱动-

sm是内置发生时

startup否外部驱动-

traffic是外部驱动定时

crash是外部驱动安装后,一次性

thread dump是内置定时

deadlock是内置定时并发生时

框架

下图可以更清楚地解释AndroidGodEye是如何工作的:

2b0ceb7c7b599c89da14ef3ebfc9b981.png

许可协议

AndroidGodEye使用 Apache2.0 许可协议。

关于我



推荐阅读
author-avatar
卖火柴的萌小猪_966
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有