#### 目录介绍
- 01.该库具有的功能
- 02.崩溃收集模块
- 03.网络分析模块
- 04.ping库模块
- 05.磁盘file模块
- 06.卡顿监测模块
- 07.如何使用该库
- 08.其他待完善项
### 01.该库具有的功能
- **最大特点**
- 入侵性低,你不用改动愿项目代码,几行代码设置即可使用这几个模块功能,已经用于多个实际项目中。如果觉得可以,麻烦star一下……
- 功能齐全
- 包括平常看到的卡顿分析,收集,监控;Anr模拟,监控和日志收集;崩溃拦截处理和日志界面展示;网络接口请求数据的收集和ping。以及超全的系列文档
#### 1.1 崩溃收集模块
- **崩溃模块**:
- 崩溃重启操作,崩溃记录日志操作,崩溃日志列表支持查询,删除,查看详情,分享,保存文本,以及截图等操作。
- 崩溃分析流程
- 从崩溃流程分析,到拦截App崩溃,然后收集崩溃相关信息,记录到file文件,以及到UI界面展示。一体化来学习崩溃的系统化处理。
#### 1.2 网络分析模块
- **网络分析库模块**:
- 网络流程分析,记录每个网络请求->响应数据,方便查看很全面的请求头信息,响应头信息,以及body实体。
- **ping库模块**:
- 通过ping检测网络问题,帮助诊断,这个在Android中检查域名的诊断信息……
- **查看网络时间和流量**
- 网络连接,dns解析,TLS连接,请求响应等时间差……都可以记录下来通过界面展示
#### 1.3 卡顿监测模块
- **支持fps查看帧率**
- 一键便可以开启查看页面的帧率。
- **卡顿监控方案**
- LooperPrinter实现卡顿监控,卡顿之后的数据收集,
- WatchDog卡顿监控,作为一种学习案例,理解它监控卡顿的原理。
#### 1.4 ANR监测模块
### 02.崩溃收集模块
#### 2.1 异常崩溃介绍
- 低入侵性接入该lib,不会影响你的其他业务。
- 暴露崩溃重启,以及支持开发者自己捕获crash数据的接口!能够收集崩溃中的日志写入文件,记录包括设备信息,进程信息,崩溃信息(Java崩溃、Native崩溃 or ANR),以及崩溃时内存信息到file文件中。支持用户获取崩溃列表,以及跳转崩溃日志详情页面,并且可以将崩溃日志分享,截长图,复制等操作。可以方便测试和产品给开发提出那种偶发性bug的定位日志,免得对于偶发行崩溃,开发总是不承认……开发总是不承认……
#### 2.2 截图如下所示
![](https://www.writebug.com/myres/static/uploads/2022/5/17/4604b55c3c86d50a21b33bccca90dc39.writebug)
![](https://www.writebug.com/myres/static/uploads/2022/5/17/db0d482d389671048c4c0f7c822076a4.writebug)
![](https://www.writebug.com/myres/static/uploads/2022/5/17/bb931775108b0cc55dc33f3ca4259a63.writebug)
![](https://www.writebug.com/myres/static/uploads/2022/5/17/1ae952acb57ac87599d8b9e286d5cd9d.writebug)
#### 2.3崩溃后日志记录
![](https://www.writebug.com/myres/static/uploads/2022/5/17/9715ce12d527cfa249c08f9710eb762e.writebug)
#### 2.4 崩溃流程图
![](https://www.writebug.com/myres/static/uploads/2022/5/17/c2a0e4cbc8acde3a6decdacac19172c3.writebug)
### 03.网络分析模块
#### 3.1 网络分析库模块
- 如何拿来用
- 既然Android中使用到facebook的stetho库,可以拦截手机请求请求,然后去Chrome浏览器,在浏览器地址栏输入:chrome://inspect 。即可查看请求信息。
- 那么能不能把这个拿到的请求信息,放到集合中,然后在Android的页面中展示呢?这样方便开发和测试查看网络请求信息,以及请求流程中的消耗时间(比如dns解析时间,请求时间,响应时间,共耗时等等)
- OkHttp如何进行各个请求环节的耗时统计呢?
- OkHttp 版本提供了EventListener接口,可以让调用者接收一系列网络请求过程中的事件,例如DNS解析、TSL/SSL连接、Response接收等。
- 通过继承此接口,调用者可以监视整个应用中网络请求次数、流量大小、耗时(比如dns解析时间,请求时间,响应时间等等)情况。因此统计耗时,需要致敬EventListener实现,照搬代码即可。
- 如何消耗记录时间
- 在OkHttp库中有一个EventListener类。该类是网络事件的侦听器。扩展这个类以监视应用程序的HTTP调用的数量、大小和持续时间。
- 所有启动/连接/获取事件最终将接收到匹配的结束/释放事件,要么成功(非空参数),要么失败(非空可抛出)。
- 比如,可以在开始链接记录时间;dns开始,结束等方法解析记录时间,可以计算dns的解析时间。
#### 3.2 网络拦截库功能
- 网络请求拦截
- 记录每个页面网络请求的数据,保存在map中,方便查看网络请求的请求头,响应头,响应body
- 针对获取的网络数据,记录网络状态,请求耗时,请求方式,完善了网络日志包括的绝大部分字段信息展示
- 流量统计
- 目前只是针对get,post网络请求以及上传流量统计,并且针对get和post比例展示,以及抓包数量统计
- 后期完善比如glide加载图片消耗的流量统计
- 网络消耗时间
- 网络请求到完成耗时,dns消耗时间,连接消耗时间,TLS连接开始结束消耗时间,request请求消耗时间,response响应消耗时间等等
- 设备信息
- 获取手机设备信息,包括硬件厂商,版本,root,包名等信息
- 获取本机wifi信息,主要是wifi的名称,mac地址,ip地址,dns信息,子网掩码等
- 获取服务端信息,根据网络请求host,获取服务端ip,mac,是ipv4还是ipv6等,这个还在完善中
- ping网络诊断
- 致敬网易ping方案,应用于Android项目中,获取Android项目域名,拿到ping信息
- 全局悬浮按钮
- 为了方便查看每个activity页面的网络请求数据,因此在每个activity页面显示全局悬浮按钮,点击即可跳入查看数据页面
- 这个一行代码设置即可,无任何耦合作用,低入侵
#### 3.3 网络请求接口信息
- 请求接口如下所示
- https://www.wanandroid.com/friend/json
- 看截图如下
- ![](https://www.writebug.com/myres/static/uploads/2022/5/17/3a3f03e3ad9bece11716a87f799fe451.writebug)
#### 3.4 案例截图如下
![](https://www.writebug.com/myres/static/uploads/2022/5/17/799ad3ca0b58062e158f578056539dfc.writebug)
![](https://www.writebug.com/myres/static/uploads/2022/5/17/5e4400671f1b608b57b0bccb2e53eefe.writebug)
![](https://www.writebug.com/myres/static/uploads/2022/5/17/104428199ae6ef43adb9b95fd47a06cd.writebug)
![](https://www.writebug.com/myres/static/uploads/2022/5/17/d80983359b0407ab0819126279dd4e45.writebug)
![](https://www.writebug.com/myres/static/uploads/2022/5/17/e01255e09ac4566f2c8e5c370a324f60.writebug)
### 04.ping库模块
#### 4.1 ping在Android的应用
- 为了检查网络,在android上也可以通过ping来查看是否网络通。
- 实现方案有哪些
- 通过后台线程执行ping命令的方式模拟traceroute的过程,缺点就是模拟过程较慢,timeout的出现比较频繁
- 通过编译开源网络检测库iputilsC代码的方式对traceroute进行了套接字发送ICMP报文模拟,可以明显提高检测速度
#### 4.2 ping使用截图
![](https://www.writebug.com/myres/static/uploads/2022/5/17/183e08643e19eb0f6e8983e9edc3ed1c.writebug)
### 05.磁盘file模块
#### 5.1 项目背景说明
- app展示在数据量多且刷新频繁的情况下,为提升用户体验,通常会对上次已有数据做内存缓存或磁盘缓存,以达到快速展示数据的目的。缓存的数据变化是否正确、缓存是否起到对应作用是QA需要重点测试的对象。
- android缓存路径查看方法有哪些呢?将手�
没有合适的资源?快使用搜索试试~ 我知道了~
温馨提示
用于项目测试,崩溃重启操作,崩溃记录日志【可以查看,分享】和重启【多种重启app方式】;网路拦截查看的工具小助手,拦截请求和响应数据,统计接口请求次数,流量消耗,以及统计网络链接/dns解析/request请求/respond响应等时间。提高开发效率……
资源推荐
资源详情
资源评论
收起资源包目录
基于Java实现Android 性能测试小助手【100011850】 (388个子文件)
GuardAidl.aidl 147B
gradlew.bat 2KB
.gitignore 219B
.gitignore 208B
.gitignore 7B
.gitignore 6B
.gitignore 6B
.gitignore 6B
.gitignore 6B
.gitignore 6B
.gitignore 6B
build.gradle 2KB
build.gradle 2KB
build.gradle 1KB
build.gradle 1KB
app.gradle 1KB
build.gradle 1KB
build.gradle 1KB
build.gradle 1016B
build.gradle 747B
build.gradle 574B
settings.gradle 196B
gradlew 5KB
gradle-wrapper.jar 53KB
NetDeviceUtils.java 23KB
NetDeviceUtils.java 23KB
NetRequestPhoneFragment.java 17KB
DisplayActivity.java 17KB
NetDiagnoService.java 16KB
DefaultWhiteListCallback.java 15KB
ProcessUtils.java 15KB
CrashFileUtils.java 14KB
NetworkDetailActivity.java 14KB
CrashDetailsActivity.java 13KB
NetworkEventReporter.java 13KB
CompressUtils.java 13KB
CompressUtils.java 13KB
FileExplorerFragment.java 13KB
NetWorkUtils.java 13KB
CrashToolUtils.java 13KB
StudentActivity.java 12KB
AppMemoryUtils.java 12KB
FileExplorerUtils.java 11KB
AppFileSpUtils.java 11KB
NetworkInterceptor.java 10KB
CrashHelper.java 10KB
PingNetTraceRoute.java 10KB
PingNetUtils.java 10KB
HunterTransform.java 10KB
LocalService.java 10KB
MemoryUtils.java 10KB
CrashListActivity.java 9KB
PolyLineItemView.java 9KB
ANRWatchDog.java 9KB
BaseRecycleAdapter.java 9KB
BaseViewHolder.java 8KB
ToolFileUtils.java 8KB
ToolFileUtils.java 8KB
NetworkListener.java 8KB
ConnectionManager.java 8KB
NetPieChart.java 8KB
BlockInfo.java 8KB
DefaultWhiteListProvider.java 8KB
ToolAppManager.java 8KB
NetworkActivity.java 8KB
WhiteList.java 7KB
TextDetailFragment.java 7KB
ToolLogUtils.java 7KB
NetLogUtils.java 7KB
NetLogUtils.java 7KB
ImageDetailFragment.java 7KB
DetailAdapter.java 7KB
YcKeepAlive.java 7KB
Ping.java 7KB
DataTranslator.java 7KB
NetAsyncTaskEx.java 7KB
NetSocket.java 7KB
PolyLineAdapter.java 7KB
CpuSampler.java 6KB
ScreenShotsUtils.java 6KB
ScreenShotsUtils.java 6KB
CrashLibUtils.java 6KB
LineRender.java 6KB
CrashHandler.java 6KB
ByteCountBufferedSink.java 6KB
MemoryActivity.java 6KB
BaseFloatPage.java 5KB
FloatPageManager.java 5KB
BlockCanary.java 5KB
ExtendClassWriter.java 5KB
SpDetailFragment.java 5KB
BlockInfoEx.java 5KB
WeakNetworkManager.java 5KB
PerformanceManager.java 5KB
BlockCanaryContext.java 5KB
AnrActivity.java 5KB
BlockCanaryInternals.java 5KB
JobHandlerService.java 5KB
ConnectionActivity.java 4KB
CardiogramView.java 4KB
共 388 条
- 1
- 2
- 3
- 4
资源评论
神仙别闹
- 粉丝: 4302
- 资源: 7532
下载权益
C知道特权
VIP文章
课程特权
开通VIP
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 家用干果机行业分析:2023年全球市场规模大约为1105百万美元.docx
- 卡车变电站市场分析:2023年全球市场规模大约为939百万美元.docx
- 抗炎治疗行业分析:全球抗炎治疗市场规模约为1137.4亿美元.docx
- 科研仪器行业市场:2023年全球市场规模大约为70930百万美元.docx
- 客户服务业务流程外包行业分析:全球收入约为587.6亿美元.docx
- 实验报告.pptx - 数据结构实验操作步骤与结果分析报告
- 蓝牙耳机电池行业分析:TWS耳机是最主要的应用领域.docx
- 客户关系管理软件行业分析:全球收入约为8444.7百万美元.docx
- 冷链监测行业市场分析:北美是全球最大的市场,占约26%份额.docx
- 轮胎动平衡市场分析:2023年全球市场规模大约为708百万美元.docx
- 硫酸镍行业分析:2023年全球市场规模大约为9041百万美元.docx
- 密密钥管理行业分析:北美和亚太占全球约75%的全球市场份额.docx
- 民意调查软件市场分析:北美是全球市场的主要地区,占约50%的市场份额.docx
- 企业评估服务市场分析:全球收入约为3425.4百万美元.docx
- 驱蚊产品市场分析:亚太是全球市场的主要地区.docx
- 汽车原始设备制造商工厂内物流行业分析:华东地区是中国最大的消费市场,约占30%.docx
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功