标题 | 简介 | 类型 | 公开时间 | ||||||||||
|
|||||||||||||
|
|||||||||||||
详情 | |||||||||||||
[SAFE-ID: JIWO-2025-2244] 作者: 如一 发表于: [2018-12-27]
本文共 [355] 位读者顶过
近日,微信正式宣布,开源 APM 利器 Matrix
[出自:jiwo.org]
目前,Matrix 在 GitHub 上已经获得 1326 个Star,123 个Fork。(GitHub地址:https://github.com/Tencent/matrix)
Matrix 是一款微信研发并日常使用的 APM (Application Performance Manage) ,当前主要运行在 Android 平台上。
Matrix 当前监控范围包括:应用安装包大小,帧率变化,启动耗时,卡顿,慢方法,SQLite 操作优化,文件读写,内存泄漏等等。
APK Checker:针对 APK 安装包的分析检测工具,根据一系列设定好的规则,检测 APK 是否存在特定的问题,并输出较为详细的检测结果报告,用于分析排查问题以及版本追踪
Resource Canary:基于 WeakReference 的特性和 Square Haha 库开发的 Activity 泄漏和 Bitmap 重复创建检测工具
Trace Canary:监控界面流畅性、启动耗时、页面切换耗时、慢函数及卡顿等问题
SQLite Lint:按官方最佳实践自动化检测 SQLite 语句的使用质量
IO Canary:检测文件 IO 问题,包括:文件 IO 监控和 Closeable Leak 监控
下面,我们再来了解一下Matrix的使用方法
1、在你项目根目录下的 gradle.properties 中配置要依赖的 Matrix 版本号,如:
2、在你项目根目录下的 build.gradle 文件添加 Matrix 依赖,如:
3、接着,在 app/build.gradle 文件中添加 Matrix 各模块的依赖,如:
4、实现 PluginListener,接收 Matrix 处理后的数据, 如:
5、实现动态配置接口, 可修改 Matrix 内部参数. 在 sample-android 中 我们有个简单的动态接口实例DynamicConfigImplDemo.java, 其中参数对应的 key 位于文件 MatrixEnum中, 摘抄部分示例如下:
6、选择程序启动的位置对 Matrix 进行初始化,如在 Application 的继承类中, Init 核心逻辑如下:
现在,Matrix就已成功集成到你的项目中,并且开始收集和分析性能相关异常数据,感兴趣的可以到GitHub详情页看看。 |