Android——top命令

本文详细解析了ADB shell中top命令的使用方法及其参数选项,包括实时显示进程活动、更新时间间隔、显示次数等,同时解释了VIRT、RES、SHR等内存指标的含义及物理内存计算公式。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、top命令

adb shell top --help
usage: top [-Hbq] [-k FIELD,] [-o FIELD,] [-s SORT] [-n NUMBER] [-d SECONDS] [-p PID,] [-u USER,]

Show process activity in real time.

-H      Show threads
-k      Fallback sort FIELDS (default -S,-%CPU,-ETIME,-PID)
-o      Show FIELDS (def PID,USER,PR,NI,VIRT,RES,SHR,S,%CPU,%MEM,TIME+,CMDLINE)
-O      Add FIELDS (replacing PR,NI,VIRT,RES,SHR,S from default)
-s      Sort by field number (1-X, default 9) 选择根据某项(cpu,vss,rss,thr)来排序
-b      Batch mode (no tty)
-d      Delay SECONDS between each cycle (default 3)
		更新的时间间隔,默认是每隔3s更新下状态,top -d 0时会持续地输出,不过很占CPU。
-n      Exit after NUMBER iterations  显示n次top的结果后命令就会退出
-p      Show these PIDs
-u      Show these USERs
-q      Quiet (no header lines)

Cursor LEFT/RIGHT to change sort, UP/DOWN move list, space to force
update, R to reverse sort, Q to exit.
adb shell top
[?25l[0m[H[J[s[999C[999B[6n[uTasks: 445 total,   1 running, 435 sleeping,   0 stopped,   2 zombie
Mem:   2866500k total,  2794280k used,    72220k free,    77912k buffers
Swap:   520908k total,   315604k used,   205304k free,   978836k cached
800%cpu  14%user   0%nice  29%sys 757%idle   0%iow   0%irq   0%sirq   0%host
PID    USER        PR  NI VIRT  RES SHR S [%CPU] %MEM     TIME+ ARGS            [0m
14357 shell        20   0  10M 2.1M 1.4M R 22.8   0.0   0:00.13 top
12739 root         20   0    0    0    0 S  2.8   0.0   0:05.11 [kworker/u16:2]
11967 root          0 -20    0    0    0 S  2.8   0.0   0:00.91 [kworker/u17:1]
 7704 u0_a127      20   0 1.7G  65M  47M S  2.8   2.3   1:20.68 com.tencent.mob+

VIRT:虚拟内存,假如进程申请10m的内存,但实际只使用了5m,那么它会增长10m,而不是实际的使用量。
RES:常驻内存,进程当前使用的内存大小,但不包括swap out。
SHR:共享内存,除了自身进程的共享内存,也包括其他进程的共享内存
计算某个进程所占的物理内存大小公式:RES – SHR

### 集成SonarQube与Android Studio进行代码质量分析 为了在Android Studio中集成并使用SonarQube进行代码质量分析,可以按照以下方法实现: #### 1. 安装SonarQube服务器 首先需要安装并运行一个本地或远程的SonarQube实例。可以通过下载官方发布的SonarQube包来完成设置[^3]。确保该服务已启动,并可通过浏览器访问其默认地址(通常是`http://localhost:9000`)。如果使用的是云版本,则需注册账户并获取项目令牌。 #### 2. 添加Gradle插件支持 为了让Android项目的构建过程能够兼容SonarQube扫描需求,在根目录下的`build.gradle`文件里加入必要的依赖项以及配置脚本。以下是具体操作方式: ```gradle // Top-level build file where you can add configuration options common to all sub-projects/modules. plugins { id 'org.sonarsource.scanner.gradle' version '4.0.0.2929' } sonarqube { properties { property "sonar.projectKey", "your_project_key" property "sonar.sources", "app/src/main/java" property "sonar.host.url", "http://localhost:9000" // 替换为实际URL property "sonar.login", "generated_token_from_sonarqube" // 使用生成的安全token登录 } } ``` 上述代码片段展示了如何通过Gradle插件连接到指定的SonarQube服务器上执行静态代码检测任务[^4]。 #### 3. 执行SonarQube扫描命令 当一切准备就绪之后,可以在终端窗口输入如下指令触发完整的源码审查流程: ```bash ./gradlew sonarqube ``` 此命令会依据之前定义好的参数自动上传数据至目标平台供进一步处理展示[^5]。 #### 4. 结合Lint工具增强效果 虽然已经引入了强大的第三方解决方案,但仍建议充分利用内置功能——即Google提供的Android Lint规则集作为补充手段之一。因为两者各有侧重领域不同,所以结合起来能更全面覆盖潜在缺陷点[^2]。 最终结果将会被汇总呈现在所选仪表盘界面上供团队成员共同审阅改进计划。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值