在安卓的开发中,要用到图片就用BitmapFactory对图片资源加载,有些时候要加载很多图片,图片过多过大所导致内存溢出,我试过加载图片后使用,然后就释放该图片资源recycle(),这样做后图片的显示不正常,我想问下有什么办法能加载很多图片资源但不会造成内存溢出,把图片做小些,还有什么办法?

解决方案 »

  1.   

    1.利用listview来显示大量图片,listview有优化,表示的内容再多也只是给看的见的行反复使用相同的内存.
    2.保存图片的变量不要使用强应用,使用SoftReference可以在内存快要溢出的时候释放掉一定的资源.
    3.在加载数据之前调用system.gc.
      

  2.   


    我用的是surfaceview来做框架的,没试那个listview
    强应用是什么?是不是常量那样子的?  softreference在释放资源的时候会不会释放的是要用的资源
    System.gc();这个我刚试了,没特别的效果哦
      

  3.   

    模拟器会爆掉  用2.3的模拟器 可以设置ram大小  2.2一下的模拟器默认ram大小是256M
      

  4.   

    游戏就不能这样了...
    SoftReference是用在缓存上的....
    你的游戏用的图片是不是太大,太多了? 超过机器的配置了....PC游戏也会这样哦....
    关分得小一些呢?一次不要加载那么多资源