Matrix 是一款微信研发并日常使用的应用性能接入框架,支持iOS, macOS和Android。 Matrix 通过接入各种性能监控方案,对性能监控项的异常数据进行采集和分析,输出相应的问题分析、定位与优化建议,从而帮助开发者开发出更高质量的应用。
源码地址:https://github.com/Tencent/matrix
Matrix-android 当前监控范围包括:应用安装包大小,帧率变化,启动耗时,卡顿,慢方法,SQLite 操作优化,文件读写,内存泄漏等等。
APK Checker: 针对 APK 安装包的分析检测工具,根据一系列设定好的规则,检测 APK 是否存在特定的问题,并输出较为详细的检测结果报告,用于分析排查问题以及版本追踪Resource Canary: 基于 WeakReference 的特性和 Square Haha 库开发的 Activity 泄漏和 Bitmap 重复创建检测工具Trace Canary: 监控界面流畅性、启动耗时、页面切换耗时、慢函数及卡顿等问题SQLite Lint: 按官方最佳实践自动化检测 SQLite 语句的使用质量IO Canary: 检测文件 IO 问题,包括:文件 IO 监控和 Closeable Leak 监控目前实际接入matrix 0.6.0版本APK Checker、Trace Canary
APK Checker接入相对比较简单,根据git上介绍,配置相关参数,运行jar包,输出报告。
为了报告更直观符合业务需求,对报告进行了部分解析,并增加基准报告以及对比报告,更好推动RD解决问题,具体流程如下:
解析报告目的:更直观的包主要内容以及优化点。
根据git上介绍,build.gradle引用matrix并在入口初始化,工程内重写PluginListener,用于监听性能数据,补充性能数据并收集。
为了将性能数据更直观观察并定位问题,结合自动化流程将数据做后台,具体流程如下: