2017-08-26 79 views
0

我正在解码8000x8000像素的图像(ARGB),因此在未压缩的形式下,它会达到 (2 + 2 + 2 + 2)*(8000 * 8000)= 488 MB 并导致android崩溃。我不想对图像进行采样,因为我将位图转换为字节数组并将其发送到PUT请求中。我曾尝试过“decodeRegion”,但我不知道如何将数据(即字节数组)重新拼接在一起,因为它们在开始时具有头部信息,只是将它们连接起来不起作用。如何在Android上解码非常大的图像?

+1

是,'BitmapRegionDecoder'是你需要从头到底多次调用它,但实际上你为什么要发送解码的数据? – pskink

+0

我必须将图像数据转换为s3作为图像/ png内容类型,我无法更改亚马逊 – SidZi

+0

image/png?所以只需发送你的PNG图像而不需要任何解码 – pskink

回答

0

你为什么要读大图片,解码,然后发布字节数组?这是做错的方法。
如果您的API实际需要解码的字节,请修复它。它更可能需要该文件的原始数据。在这种情况下,你只需要使用任何给你一个OutputStream的网络API,并一次读入1MB的文件数据,从文件的InputStream中读取并写入插座的OutputStream

相关问题