adb shell top命令的源代码在哪里可以获取?
adb shell
top 命令源码确认 首先明确:你找到的external/toybox/toys/posix/ps.c并非top命令的实现代码。
Android系统原生自带的top命令属于toybox工具集组件,正确的源码路径和ps.c同属一个目录,为external/toybox/toys/posix/top.c。
- 你在ps.c中看到相关引用属于正常情况:ps和top均为进程统计类工具,会共用部分读取proc文件系统的底层逻辑,因此会存在交叉引用的代码片段。
top本身的实现逻辑就完全符合你低资源开销的监控需求:它不会触发系统服务全量采集,所有展示的CPU、内存、进程状态等数据,均是直接读取/proc文件系统下的对应节点计算得到,开销远低于dumpsys类请求。- 如果你不熟悉C语言也可以直接复用其实现逻辑:你不需要完整读懂C代码,只需要参照
top的计算规则,直接读取/proc/stat、/proc/meminfo、/proc/[进程ID]/stat、/proc/[进程ID]/status等节点的原始数据自行计算即可,无需调用额外的系统接口。
内容的提问来源于stack exchange,提问作者IrinaK
相关产品推荐
相关产品推荐

