【发布时间】:2018-02-04 09:48:51
【问题描述】:
我正在解码一个 8000x8000 像素的图像(ARGB),因此它以未压缩的形式达到 (2 + 2 + 2 + 2) * (8000 * 8000) = 488 MB 并使安卓崩溃。我不想对图像进行采样,因为我正在将位图转换为字节数组并在 PUT 请求中发送它。我已经尝试过“decodeRegion”,但我不知道如何将数据(即字节数组)重新拼接在一起,因为它们在开始时就有头部信息并且只是连接它们没有帮助。
【问题讨论】:
-
是的,
BitmapRegionDecoder是你需要从上到下多次调用它,但实际上你为什么要发送解码数据? -
我必须将图像数据作为图像/PNG 内容类型放入 s3,我无法更改 Amazon
-
图片/png?所以只需发送您的 png 图像而不进行任何解码
-
我应该在发布这个问题之前尝试过这个,我的错,但我会尝试这个,我不知道它是否能够解析它。另外我将如何从输入流中找到文件的总大小? (因为必须为此 PUT 请求预先指定内容长度)
-
解析什么?你的输入流来自哪里?
标签: android image performance out-of-memory decoding