【问题标题】:Android handling out of memory exception on image processingAndroid处理图像处理内存不足异常
【发布时间】:2011-04-13 01:13:46
【问题描述】:

这是这个问题的序列部分:Combining 2 Images overlayed

所以问题是:如果图像尺寸太大 - 它会出现异常(内存不足异常) 我想要的是,即使手机的硬件规格较低,它也不会出现异常(但处理图像需要更长的时间)

有可能吗?

sn-p的代码是这样的:

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;
}

并且该代码块在异步任务中。

如果有人能在这件事上帮助我,我真的很感激。

谢谢你和问候, 和

【问题讨论】:

标签: android image-processing out-of-memory bitmapimage


【解决方案1】:

我认为您别无选择,只能以较小的尺寸重新缩放位图...

【讨论】:

    【解决方案2】:

    我能想到的唯一处理方法是将图像分成几部分,这样您就不必一次将所有内容都保存在内存中。如果您不想保留 bmp1,您可以直接在其上绘制 bmp2,而不是创建一个新的位图,但我不确定这是否是您所追求的。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2016-09-02
      • 2017-06-18
      • 1970-01-01
      • 2020-06-09
      • 1970-01-01
      • 1970-01-01
      • 2011-09-16
      相关资源
      最近更新 更多