在编码图集过程中,出现了Android IllegalArgumentException: Cannot draw recycled bitmaps错误。

大致意思是:不能使用已经被回收的bitmap。

bitmap回收部分代码如下:

1 Bitmap removeBitmap = softReference.get(); 2 if(removeBitmap != null && !removeBitmap.isRecycled()){ 3  removeBitmap.recycle(); 4     removeBitmap = null; 5 } 

解决方法:

重写ImageView中的OnDraw方法,捕获此异常。

 1 public class MyImageView extends ImageView {  2    3     public MyImageView (Context context, AttributeSet attrs) {  4         super(context, attrs);  5  }  6    7  @Override  8     protected void onDraw(Canvas canvas) {  9         try { 10             super.onDraw(canvas); 11         } catch (Exception e) { 12             System.out.println("trying to use a recycled bitmap"); 13  } 14     }  

更多相关文章

  1. 没有一行代码,「2020 新冠肺炎记忆」这个项目却登上了 GitHub 中
  2. Android(安卓)Gradle项目同步失败错误
  3. Android(安卓)签名打包出现的错误的解决方法以及代码中获取应用
  4. Android面试-Android项目构建
  5. 自定义toast你需要的都在这里,单例模式,自定义布局,完全自定义,
  6. camera学习---HAL代码流程
  7. Android(安卓)Studio 入门
  8. android TextInputLayout setError 隐藏后不再显示
  9. 使用Android自带DownloadManager下载文件

随机推荐

  1. Android各种访问权限Permission详解
  2. android弹出框
  3. 转: Android异步加载图像小结
  4. Android(安卓)ScrollView初始位置不在顶
  5. Android伸手党系列之四:Android项目开发常
  6. emulator: could not find virtual devic
  7. Android(安卓)代码混淆后有什么用
  8. Android(安卓)JSON解析示例代码
  9. Android(安卓)Secret Code
  10. Android之SlidingDrawer抽屉效果