1、背景
随着移动互联网技术的发展,安卓APP的功能越来越多,对于APP性能的要求也随之提高。目前有很多应用性能监控(APM:Application perfmance monitor)的工具,如阿里的mobileperf,网易开源的Emmagee,腾讯的Matrix等等。
以上主流的性能监控是针对APP层,对安卓系统性能的监控也非常重要。谈及系统性能,我们很容易想到CPU使用率、CPU使用率TOP5的进程、内存、内存占用TOP5进程、网络速度、磁盘速度这6个常见的系统性能指标,本文针对这6个指标,通过查阅资料和实践,在应用层开发出一套更高效低耗的Android系统性能通用监控工具,本文也争取成为当前网上分析“Android系统性能监控指标获取和上报”最全面的文章。
2、方案实现
2.1 方案需求分析
结合上述背景分析,为在应用层实现“Android系统性能监控指标获取和上报”这个目标,在此说明本文的需求分析:
-
高效低耗低介入:开发一个系统性能监控工具,自然不希望该工具本身为系统性能造成负担,所以在保证完成性能监控的同时还要考虑工具本身的性能。要避免使用耗时较长或者阻塞的方法,同时该功能应该在业务最少介入的情况下,完成性能指标获取和上报;
-
本地保存:因为CPU使用率等指标都需要较频繁采集,需要将获取到的数据本地保存,等收集到一定数量数据再一次性压缩上报到后台;
-
灵活配置:不同指标获取的频率不同,因此针对不同指标能配置不同的获取频率;同时该监控功能可灵活配置开启和停止