热门标签 | 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 许可协议。

关于我



推荐阅读
  • 在Android开发中,使用Picasso库可以实现对网络图片的等比例缩放。本文介绍了使用Picasso库进行图片缩放的方法,并提供了具体的代码实现。通过获取图片的宽高,计算目标宽度和高度,并创建新图实现等比例缩放。 ... [详细]
  • android listview OnItemClickListener失效原因
    最近在做listview时发现OnItemClickListener失效的问题,经过查找发现是因为button的原因。不仅listitem中存在button会影响OnItemClickListener事件的失效,还会导致单击后listview每个item的背景改变,使得item中的所有有关焦点的事件都失效。本文给出了一个范例来说明这种情况,并提供了解决方法。 ... [详细]
  • 拥抱Android Design Support Library新变化(导航视图、悬浮ActionBar)
    转载请注明明桑AndroidAndroid5.0Loollipop作为Android最重要的版本之一,为我们带来了全新的界面风格和设计语言。看起来很受欢迎࿰ ... [详细]
  • 本文介绍了互联网思维中的三个段子,涵盖了餐饮行业、淘品牌和创业企业的案例。通过这些案例,探讨了互联网思维的九大分类和十九条法则。其中包括雕爷牛腩餐厅的成功经验,三只松鼠淘品牌的包装策略以及一家创业企业的销售额增长情况。这些案例展示了互联网思维在不同领域的应用和成功之道。 ... [详细]
  • 本文介绍了如何使用PHP向系统日历中添加事件的方法,通过使用PHP技术可以实现自动添加事件的功能,从而实现全局通知系统和迅速记录工具的自动化。同时还提到了系统exchange自带的日历具有同步感的特点,以及使用web技术实现自动添加事件的优势。 ... [详细]
  • Iamtryingtomakeaclassthatwillreadatextfileofnamesintoanarray,thenreturnthatarra ... [详细]
  • Linux重启网络命令实例及关机和重启示例教程
    本文介绍了Linux系统中重启网络命令的实例,以及使用不同方式关机和重启系统的示例教程。包括使用图形界面和控制台访问系统的方法,以及使用shutdown命令进行系统关机和重启的句法和用法。 ... [详细]
  • CSS3选择器的使用方法详解,提高Web开发效率和精准度
    本文详细介绍了CSS3新增的选择器方法,包括属性选择器的使用。通过CSS3选择器,可以提高Web开发的效率和精准度,使得查找元素更加方便和快捷。同时,本文还对属性选择器的各种用法进行了详细解释,并给出了相应的代码示例。通过学习本文,读者可以更好地掌握CSS3选择器的使用方法,提升自己的Web开发能力。 ... [详细]
  • XML介绍与使用的概述及标签规则
    本文介绍了XML的基本概念和用途,包括XML的可扩展性和标签的自定义特性。同时还详细解释了XML标签的规则,包括标签的尖括号和合法标识符的组成,标签必须成对出现的原则以及特殊标签的使用方法。通过本文的阅读,读者可以对XML的基本知识有一个全面的了解。 ... [详细]
  • Google Play推出全新的应用内评价API,帮助开发者获取更多优质用户反馈。用户每天在Google Play上发表数百万条评论,这有助于开发者了解用户喜好和改进需求。开发者可以选择在适当的时间请求用户撰写评论,以获得全面而有用的反馈。全新应用内评价功能让用户无需返回应用详情页面即可发表评论,提升用户体验。 ... [详细]
  • 本文详细介绍了如何使用MySQL来显示SQL语句的执行时间,并通过MySQL Query Profiler获取CPU和内存使用量以及系统锁和表锁的时间。同时介绍了效能分析的三种方法:瓶颈分析、工作负载分析和基于比率的分析。 ... [详细]
  • RouterOS 5.16软路由安装图解教程
    本文介绍了如何安装RouterOS 5.16软路由系统,包括系统要求、安装步骤和登录方式。同时提供了详细的图解教程,方便读者进行操作。 ... [详细]
  • Android工程师面试准备及设计模式使用场景
    本文介绍了Android工程师面试准备的经验,包括面试流程和重点准备内容。同时,还介绍了建造者模式的使用场景,以及在Android开发中的具体应用。 ... [详细]
  • 嵌入式处理器的架构与内核发展历程
    本文主要介绍了嵌入式处理器的架构与内核发展历程,包括不同架构的指令集的变化,以及内核的流水线和结构。通过对ARM架构的分析,可以更好地理解嵌入式处理器的架构与内核的关系。 ... [详细]
  • 该ROM为红米3S3X手机提供了最强大的自定义功能,包括美观流畅的界面、全新的起航动画、魔幻的动画效果以及冰箱冻结功能。同时,还提供了高级设置,包括悬浮窗口显示自定义、WIFI密码查看器、S8炫酷跑马灯显示自定义等多项实用功能。此外,该ROM还优化了手机的待机时间、wifi连接速度,并支持状态栏实时网速显示和电池电量百分比显示。 ... [详细]
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社区 版权所有