Android 内存基础 笔记

USS:Unique Set Size 进程独自占用的物理内存(不包含与其他进程共享占用的内存)
PSS:Proportional Set Size 实际使用的物理内存(按比例包含与其他进程共享占用的内存)
RSS:Resident Set Size 实际使用的物理内存(包含与其他进程共享占用的内存)
VSS:Virtual Set Size 虚拟耗用的内存(包含与其他进程共享占用的虚拟内存)

VSS >= RSS >= PSS >= USS

一般情况下,分析PSS会比较有意义。

OOM原因
- Java堆内存溢出
- 无足够的连续内存空间
- FD数量超过限制
- 线程数量超过限制
- 虚拟内存不足

内存分析常用指令
- dumpsys meminfo
- procrank
- cat /pro/meminfo
- free
- showmap
- vmstat

内存分析工具
- MAT
- MEMORY PROFILE

内存泄漏库
- LeakCananry

incoming reference
- 被谁引用,即哪里来
outgoing reference
- 引用了谁

Shallow Heap
- 浅堆:对象本身占有的内存
Retained Heap
- 深堆:是一个统计结果,对象本身 + 引用的对像
- 引用的对象,如果被多个对象引用,则不会统计到深堆
- (查看的时候,深堆意义更大一些)

必要的知识点:
- Java内存
- Java垃圾回收
- Android内存
- Android垃圾回收
- Java四种引用

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容