查看android程序的CPU和内存消耗情况

查看CPU 消耗

1.进入adb shell

2.输入top -m 10 -s cpu 可查看占用cpu最高的前10个程序(-t 显示进程名称,-s 按指定行排序,-n 在退出前刷新几次,-d 刷新间隔,-m 显示最大数量)


查看android程序的CPU和内存消耗情况 - 夏天的风 - ANDROID Log
 

参数含义:

PIDprogress identification,应用程序ID

S: 进程的状态,其中S表示休眠,R表示正在运行,Z表示僵死状态,N表示该进程优先值是负数。

#THR:程序当前所用的线程数

VSSVirtual Set Size虚拟耗用内存(包含共享库占用的内存)

RSS Resident Set Size实际使用物理内存(包含共享库占用的内存)

PCY:不知道什么意思,期待解答

UIDUser Identification,用户身份ID

Name:应用程序名称

查看内存消耗

1.进入adb shell ;

2.输入dumpsys meminfo (PID或者是包名),出现如下图;

查看android程序的CPU和内存消耗情况 - 夏天的风 - ANDROID Log
 

参数含义:

dalvik:dalvik使用的内存

native:native堆上的内存,指C\C++堆的内存(android 3.0以后bitmap就是放在这儿)

other:除了dalviknative的内存,包含C\C++非堆内存······

Pss:该内存指将共享内存按比例分配到使用了共享内存的进程

allocated:已使用的内存

free:空闲的内存

private dirty:非共享,又不能被换页出去的内存(比如linux系统中为了提高分配内存速度而缓冲的小对象,即使你的进程已经退出,该内存也不会被释放)

share dirty:共享,但有不能被换页出去的内存

分析内存

1.通过DDMS,选择想要查看的程序进程,点击update heap;

2.heap界面中查看内存消耗情况


查看android程序的CPU和内存消耗情况 - 夏天的风 - ANDROID Log
 
 

3.想要进一步分析,需要借助于MAT 插件;

4.选中程序进程点击dump HPROF file图标,弹出如下图,一般选择第一个就可以了;

.

查看android程序的CPU和内存消耗情况 - 夏天的风 - ANDROID Log
 

5.出现如下图,点击leak suspect,mat会列出占内存最大的的几个对象;

查看android程序的CPU和内存消耗情况 - 夏天的风 - ANDROID Log
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值