一 .什么是OOM

当前占用的内存加上我们申请的内存资源超过了Dalvik虚拟机的最大内存限制就会抛出的Out of memory异常.

二 .一些容易混淆的概念

内存溢出: 就是OOM.

内存抖动: 是瞬间申请了大量内存,有很快的释放掉.

内存泄露: 内存没有被回收.

三 .如果解决oom.

  1. 关于bitmap:

     listview现实图片的时候,在滑动的过程中就不加载对应的缩略图,等监听到滑动结束后,再现实缩略图。
    
     bitmap缩略图: java 部分/ C部分 ,java部分java垃圾回收机制会回收,但是C部分是不会回收的,所以要调用recycle()方法.
    
     图片压缩/inBitmap属性/捕获异常.
    
  2. ListView

    convertview的复用.

    lru:对图片进行缓存.

     避免在onDraw方法里面执行对象的创建,防止内存抖动
    

results matching ""

    No results matching ""