【问题标题】:Android picture compression without loading fully into memoryAndroid图片压缩没有完全加载到内存中
【发布时间】:2015-11-12 14:25:41
【问题描述】:

有什么方法可以在不完全加载到内存的情况下压缩图像? 据我了解BitmapFactory.decodeStream 和类似方法将所有内容加载到内存中,并且只有在加载整个图片后才能通过Bitmap.compress 进行压缩

我的任务是将图片从android发送到服务器

【问题讨论】:

  • 除非 Linux 提供了压缩图像的方法,否则我认为这是不可能的。压缩意味着计算。如果在Android中计算,那么它需要Android内存。

标签: android performance image-compression


【解决方案1】:

您可以使用BitmapRegionDecoder 仅读取原始图像的一部分,然后分别压缩并上传每个部分。

BitmapRegionDecoder 可用于从图像中解码矩形区域。当原始图像很大并且您只需要图像的一部分时,BitmapRegionDecoder 特别有用。

要创建 BitmapRegionDecoder,请调用 newInstance(...)。给定一个 BitmapRegionDecoder,用户可以反复调用decodeRegion()得到一个 指定区域的解码Bitmap。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-05-28
    • 2019-08-21
    • 2011-05-16
    • 2018-03-14
    • 1970-01-01
    • 1970-01-01
    • 2012-10-28
    相关资源
    最近更新 更多