我正在寫一個相機模塊,用於拍攝照片。剪輯位圖時發生OutOfMemoryError BitmapFactory.createBitmap
由於預覽的寬度/高度與圖片的寬度/高度不同,我需要在拍攝照片時剪切圖片,使其與屏幕中顯示的相同。
我用這個:
mCamera.takePicture(null, null, mJpegCallback);
設置圖像回調,然後解碼和剪輯回調位圖:
Bitmap originBitmap = BitmapFactory.decodeByteArray(data, 0, data.length);
...
Bitmap bitmap = Bitmap.createBitmap(originBitmap, 0, 0, clipWidth, clipHeight);
然而,OutOfMemoryError
發生時創建剪輯bitmap.I已經嘗試了許多方式來重複使用數據,而不是複製新的位圖,但它不起作用。那麼,請有人能幫我嗎?
有沒有任何限制/要求,不允許你使用相機意圖API? – nikvs
@nikvs,是的,這個應用程序將綁定到一個自定義的硬件,我們想要按下該設備上指定的物理按鈕時拍攝的照片,相機通知API不符合我們的需要,所以我們必須自己寫。 –