2010-09-16 82 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

我想你别无选择,但重新调整的位图在一个较低的大小...