android image调整尺寸_[译]Android调整图像大小的一些方法

本文翻译自 Stack Overflow 的讨论,探讨了Android中调整图像大小的几种方法,包括使用`createScaledBitmap`、`inSampleSize`、`inScaled`、`inDensity`和`inTargetDensity`等属性。文章强调了内存效率和图像质量的权衡,建议混合使用这些方法以达到最佳效果。
摘要由CSDN通过智能技术生成

翻译自 [某大神在Stack Overflow里的自问自答](http://stackoverflow.com/questions/32121058/most-memory-efficient-way-to-resize-bitmaps-on-android)

(一般我们将Bitmap翻译为位图,但为了更好理解,在本文中我将它翻译成图像);

我们在开发的时候,经常需要从服务器中加载图像到客户端中,但有时手机屏幕较小(服务器传来的图像是大图)导致我们需要重新调整图像的大小以适应手机的屏幕。我们可以使用createScaledBitmap方法来调整图像的大小,可当我们使用createScaledBitmap来得到大量的缩略图后(图像数量较大),会导致许多的内存溢出错误(out-of-memory errors)。那么问题来了,在Android中哪种方式是调整图像大小的最有效的内存的利用方式呢?

文章Loading large bitmaps Efficiently(现在打不开,你懂的) 介绍了怎样利用isSampleSize去加载一个图像的缩略图,这里只是对它进行一个总结;文章Pre-scaling bitmaps(现在打不开,你懂的) 详细介绍了调整图像大小的各种方法,并且怎样去混合使用这些方法得到一个最好的内存利用方式;

在Android中有三种主要的方式来调整图像的大小,并且每种方法会有不同的内存性能:

1. createScaledBitmap API

这个API会加载一个已经存在的图像,并用你希望得到的图像尺寸来创建一个新的图像。一方面,你可以得到你想得到的确切尺寸的图像。但这个API可以正常工作的前提是已经有一个图像(大图)存在了。这意味着在创建新尺寸的图像前,原来的图像会先经历加载,解码,创建

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值