回收bitmap缓存出现错误 trying to use a recycled bitmap

在listview的adapter中 加载图片之后调用回收图片缓存的方法
BitmapDrawable bd = (BitmapDrawable) relativeLayout.getBackground();
BitmapDrawable bd = (BitmapDrawable) relativeLayout.getBackground();
if (bd != null) {
bd.setCallback(null);
if (bd.getBitmap() != null) {
if (!bd.getBitmap().isRecycled()) {

                    bd.getBitmap().recycle();
                }
            }
        }

在getview的最后执行上面的函数时产生错误ava.lang.RuntimeException: Canvas: trying to use a recycled bitmap android.graphics.Bitmap@2cc96c28
想请教一个这里的问题要如何解决?

2个回答

在listview 的adapter中其内部会做好复用,无需你自己去处理receycle

qq_20258523
qq_20258523 但是在几个不同的个fragment切换着调用listview 内存是一直在增加的呀。。,这里要怎么避免呢
接近 3 年之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问
相关内容推荐