Android(安卓)IllegalArgumentException: Cannot draw recycled bitmaps解决方法
16lz
2021-01-25
在编码图集过程中,出现了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 }
更多相关文章
- 没有一行代码,「2020 新冠肺炎记忆」这个项目却登上了 GitHub 中
- Android(安卓)Gradle项目同步失败错误
- Android(安卓)签名打包出现的错误的解决方法以及代码中获取应用
- Android面试-Android项目构建
- 自定义toast你需要的都在这里,单例模式,自定义布局,完全自定义,
- camera学习---HAL代码流程
- Android(安卓)Studio 入门
- android TextInputLayout setError 隐藏后不再显示
- 使用Android自带DownloadManager下载文件