在android内存优化方面,我们不可能做到没有大内存的占用情况。
所以有时候要清楚我们的app到底占用了多少内存,哪一步操作占用了多少的内存。
这时候,android的ddms中提供了一个工具,是可是实时查看app运行时的内存使用情况。
下面我以android studio为例。其实eclipse adt 是一样的。
eclipse中也是这个图标。
如何使用,图中已经表明的很清楚了。
1,找到当前运行的手机
2,点击和你app相同包名的进程
3,点击update Heap
4,切换到Heap视图上点击Cause GC按钮
5,根据自己需要点击app进程
6,图中的柱状图就是你的app的内存使用情况了
我们可以根据哪一步操作对内存的使用情况而锁定应该优化的地方。
注意事项:
1,Cause GC按钮点击一次就相当于虚拟机请求了一次gc操作
2,当内存信息显示后就不需要再点击Cause GC按钮了。Heap视图会定时刷新,对应的操作过程可以看出内存变化。
如何知道程序内存泄漏?
Heap视图中有一行数据是叫data object,即数据对象。它是我们app中大量存在的类类型的对象。
在data object中有一列 Total Size ,它的值就是