0
我有一些關於位圖解碼的問題。位圖解碼的內存
當我嘗試位圖從一個字節[]數組進行解碼,使用BitmapFactory.decodeByteArray,是什麼PARAM字節[]和在結果位圖中的字節mBuffer []之間的差。當函數返回時,位圖仍然保持對byte []參數的引用?
,當我從一個JPG文件從SD卡使用下面的代碼進行解碼位圖:
File file = new File(getExternalCacheDir(), "large.jpg"); bitmap = BitmapFactory.decodeFile(file.getAbsolutePath()); if(mImageView != null){ mImageView.setImageBitmap(bitmap); }
這個JPG文件10800 * 5400的分辨率和13.82M大小,結果位不爲空,且有沒有OOM錯誤,但未顯示位圖。那怎麼可能?我認爲在這種情況下,android應該拋出一個OOM錯誤,以便我可以捕獲它來再次縮放位圖。但它什麼也沒有顯示。這似乎不合理。有沒有人知道原因?
「參數字節[]和結果位圖中的mBuffer字節[]之間有什麼區別」 - 第一個會保存PNG,JPEG等格式的東西。第二個保存解碼圖像的AARRGGBB字節。 – CommonsWare
@CommonsWare謝謝。完全瞭解! – tinaJohnny