調用 Bitmap.recycle() 後,隨後操作同一 Bitmap 的 View 繪製時拋出異常:Canvas: trying to use a recycled bitmap。
代碼中 mView.change(Bitmap.createBitmap(bm,...)) 其實創建了新 Bitmap,但隨後對原 bm 調用 recycle()。若 mView 內部仍持有對原 bm 的引用(或未正確釋放),回收導致內存失效,繪製時崩潰。
recycle()。inBitmap 復用內存(API 19+),避免頻繁 GC。// 正確順序示例
if (bm != null && !bm.isRecycled()) {
mView.setImageBitmap(null); // 斷開引用
bm.recycle();
bm = null;
}