您的位置:首页 > 移动开发 > Android开发

android 程序内存分析

2015-06-30 11:33 435 查看
1、java 层内存占用分析

可以通过eclipse中的DDMS(Dalvik Debug Monitor Service)查看某个进程java 虚拟机的内存占用情况。

使用方法参见:http://blog.csdn.net/feng88724/article/details/6460918

也可以生成heap dump文件,通过MAT工具分析内存泄露问题。

2、native层内存占用分析:参考http://tju-jusi.iteye.com/blog/1544778

可以通过eclipse中的DDMS(Dalvik Debug Monitor Service)查看某个进程java native 的内存占用情况。

1)setprop libc.debug.malloc 1

stop

start

支持的参数: (注明:本人测试只有1可用)
1 - perform leak detection

5 - fill allocated memory to detect overruns

10 - fill memory and add sentinels to detect overruns

20 - use special instrumented malloc/free routines for the emulator

2)eclipse 中的C:\Users\XXXX\.android\ddms.cfg文件末尾添加

native=true

3)从SDK\tools 中启动独立的 DDMS ( ddms.bat )可以看见 native heap 选项卡

4)找到自己的库函数***.so 后面的 Method 列中的地址。使用 NDK 中的 addr2line 工具,

用法:在命令行中addr2line.exe -e ***\obj\local\armeabi\***.so 地址

注意,一定要是obj 底下的 .so , lib 里面的是不含有符号表的。

另外 Method 中的地址一般要将高 3(或者2) 位置 0 , 80cc6e22 变为 000c6e22 。 80dxxxxx 的怎么变自己领悟吧。

3.总的进程内存占用情况,参考http://blog.csdn.net/haima1998/article/details/46693441

通过dumpsys meminfo pid 来查看进程的Native heap和dalvik size

root@device:/ # dumpsys meminfo 3808

Applications Memory Usage (kB):

Uptime: 3819006 Realtime: 3819006

** MEMINFO in pid 3808 [com.XXX.tv.XXX.XXX] **

Pss Private Private Swapped Heap Heap Heap

Total Dirty Clean Dirty Size Alloc Free

------ ------ ------ ------ ------ ------ ------

Native Heap 0 0 0 0 4944 3677 1266

Dalvik Heap 0 0 0 0 35663 26822 8841

Dalvik Other 1653 1652 0 0

Stack 248 248 0 0

Ashmem 37885 37820 0 0

Other dev 5 0 4 0

.so mmap 4925 3092 20 0

.jar mmap 0 0 0 0

.apk mmap 171 0 0 0

.ttf mmap 428 0 212 0

.dex mmap 3225 0 2472 0

Other mmap 31 4 0 0

Unknown 3517 3516 0 0

TOTAL 52088 46332 2708 0 40607 30499 10107

Objects

Views: 155 ViewRootImpl: 1

AppContexts: 3 Activities: 1

Assets: 3 AssetManagers: 3

Local Binders: 12 Proxy Binders: 23

Death Recipients: 2

OpenSSL Sockets: 0

SQL

MEMORY_USED: 0

PAGECACHE_OVERFLOW: 0 MALLOC_SIZE: 0

Asset Allocations

zip:/data/app/com.XXX.tv.XXX.XXX-1.apk:/resources.arsc: 171K
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: