本帖最后由 xxoo25 于 2013-04-25 17:18:13 编辑

解决方案 »

  1.   

    你的图片太大了吧,你用Bitmap.createBitmap把bm压缩之后再显示出来试试。再把原来的bm recycle掉。
      

  2.   

    你这样弄,不死才怪...  Android为每个应用提供内存才那么几兆..你这样加图片???   弄着好玩吧? 原图也不压缩???
      

  3.   

    opts.inSampleSize = 2;//这个地方是压缩 你可以按照你想要的效果填 
    Bitmap temp = BitmapFactory.decodeResource(resources, R.id.image, opts);
      

  4.   

    楼主用软引用SoftReference,用一个HashMap<String, SoftReference<Bitmap>> bitmapCache装你的图片的引用,key用你的URL就行了,加载图片的时候判断下URL对应的Bitmap,如存在,直接取出来,不存在则是被系统回收了,这时候你在重新去下载图片,不知道我的回答你懂了吗
      

  5.   

    我是根据接受的数据(编号)来读取本地jpg图片显示而已,那key是不是就是路径?
      

  6.   

    不管什么图片都是第五张程序挂掉的。其实我是想在加载下一张图片的时候把前面一张的图片资源回收了。
    网上都说将bm = null就可以了,可是我加了还是不行的
      

  7.   

    有几种解决的方法。
    你这种应该把图片压缩,然后在用软引用做缓存。
    如果可以允许导入V4包,可以用LRU 做缓存。
      

  8.   


    楼上正解
    使用WeakReference Or SoftReference 保存图片缓存
    不用时,及时回收引用