2010-09-16 80 views
2

這是這個問題的序列部分:Combining 2 Images overlayed安卓處理內存溢出異常圖像處理

所以問題是:如果圖像尺寸過大 - 它會擁有一個異常(內存溢出異常) 我想要的是,即使手機拿到了較低規格的硬件,它也不會去處理這個例外(但它需要較長時間來處理圖像)

是否可以做那?

的代碼片段是這樣的:

public static Bitmap overlay(Bitmap bmp1, Bitmap bmp2) { 
    Bitmap bmOverlay = Bitmap.createBitmap(bmp1.getWidth(), bmp1.getHeight(), bmp1.getConfig()); 
    Canvas canvas = new Canvas(bmOverlay); 
    canvas.drawBitmap(bmp1, new Matrix(), null); 
    canvas.drawBitmap(bmp2, 0, 0, null); 
    return bmOverlay; 
} 

和代碼塊是異步任務內。

我真的很感謝有人能幫助我解決這個問題。

謝謝和問候, 和

+1

http://codingaffairs.blogspot.com/2016/07/processing-bitmap-and-memory-management。 HTML – 2016-11-10 05:18:07

回答

0

我能想到的來處理,這將是將圖像分割成小塊,這樣你就不必保存在內存中的一切在一次的唯一途徑。如果你不想保留bmp1,你可以直接在其上面繪製bmp2,而不是創建一個新的位圖,儘管我不確定這是否是你以後的樣子。

2

我想你別無選擇,但重新調整的位圖在一個較低的大小...