该bug目前只发现在小米11上复现 MIUI12
发生异常流程:
使用camera2拍照 ==> 存到file ==> 获得bitmap ==> 剪切 ==> 内存保存剪切后bitmap,startActivityResult跳转到大图展示 ==> 预览后确定保存bitmap到文件 ==> 获取地址setResult()退出预览 ==> 在拍照页面获取地址setResult()然后finish()
发生异常:
Canvas: trying to use a recycled bitmap android.graphics.Bitmap
1、从各个方面看是bitmap回收引起的异常,所以我注释了bitmap回收代码 ==> 结果无效
2、怀疑是我横屏拍照引起的异常,改成竖屏 ==> 结果无效
3、发现现象,如果在
预览后确定保存bitmap到文件 ==> 获取地址setResult()退出预览==> 在拍照页面获取地址setResult()然后finish()
改成
预览后确定保存bitmap到文件 ==> 获取地址setResult()退出预览==> 在拍照页面获取地址setResult()然后finish()
不会异常退出
预览后确定保存bitmap到文件 ==> 退出预览
不会异常退出
使用camera2拍照 ==> 存到file ==> 获得bitmap ==> 剪切 ==> 内存保存剪切后bitmap
不会异常退出
怀疑是预览页面保存图片引起的问题,修改保存位置修改逻辑为
使用camera2拍照 ==> 存到file ==> 获得bitmap ==> 剪切 ==>本次存储文件获取地址,startActivityResult跳转到大图展示 ==> 预览 ==> 获取地址setResult()退出预览 ==> 在拍照页面获取地址setResult()然后finish()
正常