为什么内存只到50%左右就报OOM呢?不是还有很大的内存空间可用吗?
这几天不停地在优化程序内存使用,因为以前没有移动开发经验,写程序时没有考虑到内存优化。自己比较菜,发现自己写的程序在不停地打开再finish 发现data object 的Total Size 不停地增加。个人理解是data object 中的 total size 是总使用内存,当这个达到一定高度时就会出现OOM,但是经测试好像不是这样的,data object 中的 total size 有时在50%左右就会出现OOM,而有时在 80%左右都不会出现。

解决方案 »

  1.   

    这个好像不用看它的百分比,你只要看data object是不断增加的就说明是你的内存溢出了,找方法解决就行了,你说的那个50%或80%的数据我几乎没有注意过!
      

  2.   

    50%是系统的内存大小,Android对于每个应用有一个限制大小,不是说系统内存有2G,你的应用就能用2G的.
    很多问题是出现在图片上面,最好在不用的时候手工释放.