# 内存占用情况的分析
作为系统端而言,在一个资源受限的系统上,应用内存优化的优先级可以通过占用排名TOP10来衡量。这里从系统角度出发,对应用内存的占用情况的分析通过以下三步走。
1、procrank看排名
Android调试状态下一般都包含procrank工具,如果默认没有,移植编译都是值得的。
|
|
从输出看,含有Vss, Rss, Pss, Uss几个参数,他们的含义可以参考:
|
|
从系统角度上看,使用pss来含量是最公平合理的。
2、借助Monitors来查看内存的动态使用情况,找到峰值
Android Studio提供了很好的监控工具Monitors,借助他,可以一边操作应用,一边查看内存占用,找到可能出现的峰值,这个值可能就是我们要攻克的高地。
但是这里的内存占用大小其实是堆内存大小,虽然如此,这个值的变化也可以告诉我们什么时候会发生峰值,已经占用的结构是怎么样的。
3、分析堆转储,定位占用结构
定位了占用内存较高的应用之后,就需要占用内存较高的模块了。通过获取和分析堆转储,可以定位占用的结构。
|
|
使用MAT工具分析hprof文件: