Android Bitmap 改變的時候可能會丟擲 java.lang.IllegalStateException: only mutable bitmaps may be reconfigured
阿新 • • 發佈:2018-12-30
Android Bitmap 改變的時候可能會丟擲 java.lang.IllegalStateException: only mutable bitmaps may be reconfigured
從伺服器獲取到了itmap,然後修改大小,
bitmap.setHeight(12);
bitmap.setWidth(12);然後就報出java.lang.IllegalStateException 這個錯誤,
原因是因為:
bitmap.setHeight(12);會先判斷bitmap.isMutable()是否為true,如果為false,也就是是不是易變的圖片,如果是true,則可以更改,否者 就會丟擲
bitmap.setHeight(12);語句在SDK中的解釋是
bitmap.setHeight(12);函式,則必須用可修改的Bitmap。 具體的解決方案就是,加上 mBitmap = bitmap.copy(Bitmap.Config.ARGB_8888, true) 這句話,這個時候就相當於複製了一個新的可變的Bitmap