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

来源:互联网 发布:股票套利软件 编辑:程序博客网 时间:2024/05/16 13:46

查看CPU 消耗

1.进入adb shell

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

参数含义:

PID:progress identification,应用程序ID

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

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

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

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

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

UID:User Identification,用户身份ID

Name:应用程序名称

查看内存消耗

1.进入adb shell ;

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

参数含义:

dalvik:dalvik使用的内存

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

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

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

allocated:已使用的内存

free:空闲的内存

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

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

分析内存

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

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

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

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

.

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

0 0