Android内存分析

2016-12-08  本文已影响0人  joyousx

内存表达方式

我们在Android手机的设置页面看到的内存占用情况,就是使用了PSS标准。同时在内存优化过程中,也经常被用作衡量指标。

PSS内存查看方式

dumpsys meminfo详述

dumpsys-meminfo.png

接下来,我们对上图中的信息做详细说明:

这里做下说明,android下所有app的进程均是fork自Zygote,从Zygote进程 fork 时,子进程完全拷贝了Zygote进程的虚拟内存空间(包括加载的so占用、resource资源占用、主动申请等内存空间等)。但当继承自Zygote进程的内存被修改时,由于copy-on-write,会申请新的内存空间,这就会形成Private Dirty内存。当继承自Zygote进程的内存没被修改时,是不用分配额外的内存空间。

DDMS:MemoryMonitor

Android自带的内存查看工具,查看的是Dalivik Heap Size/Alloc/Free。

内存优化工具:MAT

强大的内存分析工具,MAT,分析的文件hprof文件有以下获取方式(都需要使用hprof-conv工具转换):

使用MAT分析内存时,会遇到一些术语比较难懂的术语,这里简单说明下:

参考:
https://developer.android.com/studio/profile/investigate-ram.html#LogMessages
https://www.youtube.com/watch?v=ptjedOZEXPM

上一篇下一篇

猜你喜欢

热点阅读