指标背景
很多场景下我们去使用 App,可能会碰到手机会出现发热发烫的现象。这是因为 CPU 使用率过高、CPU 过于繁忙,会使得整个系统无法响应用户,整体性能降低,用户体验变得相当差,也容易引起 ANR 等等一系列问题。
Android 性能指标 CPU 主要关注两点:
- CPU 总体使用率
- 应用程序 CPU 占用率
指标值获取
直接上干货,获取 App CPU 指标值的几种不同方式
- 读取 Linux proc 文件系统(精确、方便自动化集成)
- 使用外部第三方工具来辅助测试,比如:腾讯 GT,网易 Emagee 等(其实这些工具的原理就是基于调用 Android 系统底层的 API 完成),掌握 adb 或者第三方工具获取方法都可以。(精确,易获取,推荐)
- Linux top 命令(有误差,易获取)
proc 文件获取方式
/proc 文件系统是一个伪文件系统,它只存在内存当中,而不占用外存空间。它以文件系统的方式为内核与进程提供通信的接口。用户和应用程序可以通过/proc 得到系统的信息,并可以改变内核的某些参数。由于系统的信息,如进程,是动态改变的,所以用户或应用程序读取/proc 目录中的文件时,/proc 文件系统是动态从系统内核读出所需信息并提交的。
我们关注的安卓性能指标 CPU 总体使用率和应用程序 CPU 占用率主要与两个 proc 文件相关,分别是/proc/stat 和/proc/进程 id/stat 文件。。
通过 adb shell 进入到手机内部 shell 模式