使用ADB分析CPU性能 —— 基础指南

一、如何使用ADB获取CUP占用率

1、运行top命令

css 复制代码
adb shell top
输出:

2、其他命令

  • -d <seconds>: 设置刷新间隔。
    • 例如: top -d 1 每秒刷新一次。
  • -m <count>: 限制显示的进程数量。
    • 例如: top -m 10 显示前 10 个进程。
  • -s <column>: 按特定列排序。
    • 例如: top -s cpu 或 top -s r -> 按 CPU 占用率排序。
    • 例如: top -s res -> 按内存占用排序。

3、运行top后,键盘快捷键使用

  • q → 退出
  • M → 按内存占用 (%MEM) 排序
  • P → 按 CPU 占用 (%CPU) 排序 ------ 最常用
  • R → 反转排序顺序

二、查看特定进程实时CPU占用率

1、 获取PID

复制代码
adb shell pidof com.example.app

2、 获取对应PID各类参数

scss 复制代码
adb shell top -n 1 | grep PID
或
adb shell top -n 1 | grep $(adb shell pidof com.example.app)
  • top -n 1:表示仅刷新并输出一次 top 信息,避免持续滚动
  • | grep 12345:过滤出包含该PID的行。

3、 补充技巧(获取应用包名)

复制代码
adb shell pm list packages
或者只列出第三方应用
adb shell pm list packages -3

三、输出内容说明

  • PID: 全称 --- Process ID(进程 ID)。进程的唯一标识符,由操作系统用于管理进程。PID 越大通常意味着进程越新。

  • USER: 拥有该进程的用户。在 Android 中,你通常会看到 root、system 或 u0_a123(第三方应用)。

  • PR: 全称 --- Priority(优先级)。进程的内核调度优先级。数值越小 = 优先级越高。通常由内核自动管理。

  • NI: 全称是 Nice Value(Nice 值)。用户空间可调整的优先级偏移量。范围:-20 到 19。数值越低 = 优先级越高。默认为 0。

  • VIRT: 全称 --- Virtual Memory Size(虚拟内存大小)。进程可以访问的总虚拟内存。包括已换出的内存和共享库。通常数值较大。

  • RES: 全称 --- Resident Memory Size(常驻内存大小)。当前实际使用的物理内存(未换出)。这是真实内存使用情况的关键指标。

  • SHR: 全称 --- Shared Memory(共享内存)。RES 中可以共享的部分(例如,共享库)。

  • S: 全称 --- State(状态)。当前进程状态:R = 运行中,S = 睡眠中,D = 不可中断睡眠,Z = 僵尸进程,T = 已停止。

  • %CPU: 自上次刷新以来使用的 CPU 时间百分比。在多核设备上,数值可能超过 100%(例如,200% = 2 个核心满载)。

  • %MEM: 进程使用的总物理内存占比。有助于识别内存消耗大的应用。

  • TIME+: 自进程启动以来消耗的总 CPU 时间,以百分之一秒为单位(例如,12:34.56 = 12 分 34.56 秒)。

  • ARGS: 全称 --- Arguments(参数)。启动进程的命令或进程名称(例如,包名如 com.android.chrome)。

希望这些具体的命令能帮助你顺利完成应用的CPU使用情况分析。 原文链接:medium.com/@lee6455217...

相关推荐
子兮曰4 天前
jev-ultrafast 深度解析:7 秒订机票的浏览器 Agent 是如何炼成的
前端·后端·agent
子兮曰4 天前
Jev 爆发一周:7 秒 Agent 背后的 System One 生态与三场争议
前端·后端·ai编程
前端小万4 天前
写公众号赚了 3000 块后,我做了一款叫 "一键成稿" 的软件
前端·微信小程序
爱勇宝4 天前
ZCode 开源 24 小时:一份没有历史的账本,回答不了"有没有偷代码"
前端·后端·chatglm (智谱)
千里马学框架4 天前
一起学 Android 14:ShellTransition 屏幕旋转过程深度剖析
android·智能手机·性能优化·framework·性能·屏幕旋转·rotation
美狐美颜SDK开放平台4 天前
开发直播APP时如何接入视频美颜SDK?开发流程与注意事项
android·人工智能·计算机视觉·音视频·直播美颜sdk
三十而立洋4 天前
Cookie 详解:从产生到安全,一次讲透
前端·javascript
AFinalStone4 天前
Android7 SystemUI源码解析(七)Keyguard锁屏模块深度解析
android·systemui
卡布鲁4 天前
把一个 Vite + Vue3 应用塞进 qiankun (React + Umi3) 主站:十个坑的复盘
前端·javascript·react.js
致远ccc4 天前
Google Play 上架前如何测试 App?多国家 Android 环境测试
android·app测试·googleplay·多国家应用测试