16-Pre-scaling Bitmaps

对bitmap做缩放,这也是Android里面最遇到的问题。对bitmap做缩放的意义很明显,提示显示性能,避免分配不必要的内存。Android提供了现成的bitmap缩放的API,叫做createScaledBitmap(),使用这个方法可以获取到一张经过缩放的图片。

上面的方法能够快速的得到一张经过缩放的图片,可是这个方法能够执行的前提是,原图片需要事先加载到内存中,如果原图片过大,很可能导致OOM。下面介绍其他几种缩放图片的方式。

inSampleSize能够等比的缩放显示图片,同时还避免了需要先把原图加载进内存的缺点。我们会使用类似像下面一样的方法来缩放bitmap:

另外,我们还可以使用inScaled,inDensity,inTargetDensity的属性来对解码图片做处理,源码如下图所示:

还有一个经常使用到的技巧是inJustDecodeBounds,使用这个属性去尝试解码图片,可以事先获取到图片的大小而不至于占用什么内存。如下图所示:

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 173,018评论 25 708
  • 2021期待与你一起共事,点击查看岗位[//www.greatytc.com/p/6f4d67fa406...
    闲庭阅读 16,706评论 0 75
  • 转载: 原文地址:http://www.csdn.net/article/2015-09-18/2825737/3...
    666swb阅读 1,466评论 0 10
  • 我以为我能洋洋洒洒地写出一大堆什么,可过了半个月,还是无从提笔。 周身氤氲着晕眩的光圈,我不知道该把情绪安放在哪,...
    隔着太阳数月亮阅读 196评论 0 0
  • 黄鸟的左翅上 曾有过闪电与印纹 羽翼拍打,抖落满天星辰 也曾在夕岚升起时 看到众神的前生 夜里放下桂冠 做牧星人,...
    南风认识我阅读 413评论 0 3