这是性能优化系列之matrix框架的第1篇文章,我将在性能优化专栏中对matrix apm框架做一个全面的代码分析,性能优化是Android高级工程师必知必会的点,也是面试过程中的高频题目,对性能优化感兴趣的小伙伴可以去我主页查看所有关于matrix的分享。
前言
Matrix 是一款由微信团队研发并日常使用的应用性能接入框架,支持iOS, macOS和Android。 Matrix 通过接入各种性能监控方案,对性能监控项的异常数据进行采集和分析,输出相应的问题分析、定位与优化建议,从而帮助开发者开发出更高质量的应用。
功能
监控应用安装包大小,帧率变化,启动耗时,卡顿,慢方法,SQLite 操作优化,文件读写,内存泄漏。每一项功能都被抽象为一个Plugin,如下:
IOCanaryPlugin:IO监控
通过IOCanaryCore实现IO监控 Android性能优化系列-腾讯matrix-IO监控-IOCanaryPlugin源码分析
TracePlugin:卡顿监控
包含FrameTracer、LooperAnrTracer、SignalAnrTracer、IdleHandlerLagTracer、TouchEventLagTracer、ThreadPriorityTracer、StartupTracer、EvilMethodTracer八种
FrameTracer
Android性能优化系列-腾讯matrix-TracePlugin卡顿优化之帧率监控FrameTracer源码分析
LooperAnrTracer
Android性能优化系列-腾讯matrix-TracePlugin卡顿优化之ANR监控LooperAnrTracer源码分析
SignalAnrTracer
Android性能优化系列-腾讯matrix卡顿优化之ANR监控-SignalAnrTracer源码分析
IdleHandlerLagTracer
Android性能优化系列-腾讯matrix卡顿优化之IdleHandlerLagTracer源码分析
StartupTracer
Android性能优化系列-腾讯matrix-TracePlugin启动速度优化之StartupTracer源码分析
EvilMethodTracer
Android性能优化系列-腾讯matrix-TracePlugin卡顿优化之EvilMethodTracer源码分析
MemoryCanaryPlugin:内存监控
包含AppBgSumPssMonitor、ProcessBgMemoryMonitor
ResourcePlugin:资源监控
通过ActivityRefWatcher实现资源监控 Android性能优化系列-腾讯matrix-内存泄漏监控之ResourcePlugin源码分析
TrafficPlugin:网络监控
通过native层hook实现网络监控 Android性能优化系列-腾讯matrix-流量监控之TrafficPlugin源码分析
SQLiteLintPlugin:数据库监控
通过SQLiteLint实现数据库监控
BatteryMonitorPlugin:电量监控
通过BatteryMonitorCore实现电量监控
APK Checker
用于包体积优化