关于bitmap recycle trying to use a recycled bitmap android.graphics.Bitmap
2018-01-21 17:41
459 查看
在开发中,一直使用4.0以上手机作为測试机所以一直没有出现这个问题,今天换了2.3版本号的手机。出现了这个错误:
trying to use a recycled bitmap android.graphics.Bitmap
后检查代码,我的图片回收代码是介个样子的:
public static void recycle(View view) {
if (null == view) {
return;
}
BitmapDrawable bd = (BitmapDrawable) view.getBackground();
if (null == bd) {
return;
}
Bitmap bm = bd.getBitmap();
if (null != bm && !bm.isRecycled()) {
bm.recycle();
}
}
即在我回收了图片后,这个View对象还在引用这个图片。导致出现这个问题,后改动为:
public static void recycle(View view) {
if (null == view) {
return;
}
BitmapDrawable bd = (BitmapDrawable) view.getBackground();
if (null == bd) {
return;
}
view.setBackgroundDrawable(null);
Bitmap bm = bd.getBitmap();
if (null != bm && !bm.isRecycled()) {
bm.recycle();
}
}
设置背景图片为空,取消对图片的引用再去回收。
trying to use a recycled bitmap android.graphics.Bitmap
后检查代码,我的图片回收代码是介个样子的:
public static void recycle(View view) {
if (null == view) {
return;
}
BitmapDrawable bd = (BitmapDrawable) view.getBackground();
if (null == bd) {
return;
}
Bitmap bm = bd.getBitmap();
if (null != bm && !bm.isRecycled()) {
bm.recycle();
}
}
即在我回收了图片后,这个View对象还在引用这个图片。导致出现这个问题,后改动为:
public static void recycle(View view) {
if (null == view) {
return;
}
BitmapDrawable bd = (BitmapDrawable) view.getBackground();
if (null == bd) {
return;
}
view.setBackgroundDrawable(null);
Bitmap bm = bd.getBitmap();
if (null != bm && !bm.isRecycled()) {
bm.recycle();
}
}
设置背景图片为空,取消对图片的引用再去回收。
相关文章推荐
- 关于bitmap recycle trying to use a recycled bitmap android.graphics.Bitmap
- 关于Canvas: trying to use a recycled bitmap android.graphics的疑惑
- 关于Canvas: trying to use a recycled bitmap android.graphics的疑惑
- 关于Canvas: trying to use a recycled bitmap android.graphics的疑惑
- android编程过程中遇到的关于Canvas: trying to use a recycled bitmap android.graphics.Bitmap问题的原因及解决办法
- Bitmap的recycle后Canvas: trying to use a recycled bitmap android.graphics.Bitmap问题
- Bitmap回收异常:Canvas: trying to use a recycled bitmap android.graphics.Bitmap解决
- Gesture控制图片缩放&Canvas: trying to use a recycled bitmap android.graphics.Bitmap异常
- Canvas: trying to use a recycled bitmap android.graphics.Bitmap@XXX
- java.lang.RuntimeException: Canvas: trying to use a recycled bitmap android.graphics.Bitmap@41a7f048
- Canvas: trying to use a recycled bitmap android.graphics.Bitmap
- java.lang.RuntimeException: Canvas: trying to use a recycled bitmap android.graphics.Bitmap...
- 今天遇到Canvas: trying to use a recycled bitmap android.graphics.Bitmap问题
- Canvas: trying to use a recycled bitmap android.graphics.Bitmap@XXX
- Android Bitmap回收异常:Canvas: trying to use a recycled bitmap android.graphics.Bitmap解决
- 多方通话的时候遇到图片回收问题---目前没有方法解决 Canvas: trying to use a recycled bitmap android.graphics.Bitmap
- 【Bitmap】Canvas: trying to use a recycled bitmap android.graphics.Bitmap问题
- 解决Bitmap recycle异常:Canvas: trying to use a recycled bitmap android.graphics.Bitmap
- Bitmap回收—Canvas: trying to use a recycled bitmap android.graphics
- 使用高德地图时出现 trying to use a recycled bitmap android.graphics.Bitmap