Android中BitmapFactory.Options详解

原创 2015年08月01日 14:33:16

在Android中,BitmapFactory相信大家都很熟悉了,这个类里面的所有方法都是用来解码创建一个Bitmap,其中有一个重要的类是Options,此类用于解码Bitmap时的各种参数控制,那这里面的各种参数都是什么含义呢?今天我们就来重点解读几个参数。


inJustDecodeBounds

如果将这个值置为true,那么在解码的时候将不会返回bitmap,只会返回这个bitmap的尺寸。这个属性的目的是,如果你只想知道一个bitmap的尺寸,但又不想将其加载到内存时。这是一个非常有用的属性。


inSampleSize

这个值是一个int,当它小于1的时候,将会被当做1处理,如果大于1,那么就会按照比例(1 / inSampleSize)缩小bitmap的宽和高、降低分辨率,大于1时这个值将会被处置为2的倍数。例如,width=100,height=100,inSampleSize=2,那么就会将bitmap处理为,width=50,height=50,宽高降为1 / 2,像素数降为1 / 4。


inPreferredConfig

这个值是设置色彩模式,默认值是ARGB_8888,在这个模式下,一个像素点占用4bytes空间,一般对透明度不做要求的话,一般采用RGB_565模式,这个模式下一个像素点占用2bytes。


inPremultiplied

这个值和透明度通道有关,默认值是true,如果设置为true,则返回的bitmap的颜色通道上会预先附加上透明度通道。


inDither

这个值和抖动解码有关,默认值为false,表示不采用抖动解码。如果想知道什么是抖动解码,请参看我另一篇文章:http://blog.csdn.net/haozipi/article/details/47185535


inDensity

表示这个bitmap的像素密度(对应的是DisplayMetrics中的densityDpi,不是density)。


inTargetDensity

表示要被画出来时的目标像素密度(对应的是DisplayMetrics中的densityDpi,不是density)。


inScreenDensity

表示实际设备的像素密度(对应的是DisplayMetrics中的densityDpi,不是density)。


inScaled

设置这个Bitmap是否可以被缩放,默认值是true,表示可以被缩放。


ps:inDensity,inTargetDensity,inScreenDensity三个值的具体关系请参看我的另一篇文章:http://blog.csdn.net/haozipi/article/details/47185917


inPurgeableinInputShareable

这两个值一般是一起使用,设置为true时,前者表示空间不够是否可以被释放,后者表示是否可以共享引用。这两个值在Android5.0后被弃用。


inPreferQualityOverSpeed

这个值表示是否在解码时图片有更高的品质,仅用于JPEG格式。如果设置为true,则图片会有更高的品质,但是会解码速度会很慢。


outWidthoutHeight

表示这个Bitmap的宽和高,一般和inJustDecodeBounds一起使用来获得Bitmap的宽高,但是不加载到内存。

android Bitmap内存优化(一) Bitmap 详解

Bitmap 详解 图片压缩 Android Bitmap内存优化
  • u010218288
  • u010218288
  • 2015-08-22 21:35:42
  • 2129

Android_BitmapFactory.Options详解

在Android中,BitmapFactory相信大家都很熟悉了,这个类里面的所有方法都是用来解码创建一个Bitmap,其中有一个重要的类是Options,此类用于解码Bitmap时的各种参数控制,那...
  • u013035016
  • u013035016
  • 2016-10-19 15:17:17
  • 377

BitmapFactory option详解

BitmapFactory.Option 中用于对Bitmap解码中的各选项进行配置. inJustDecodeBounds如果将这个值置为true,那么在解码的时候将不会返回bitmap,只会返回这...
  • y874961524
  • y874961524
  • 2017-06-10 11:54:44
  • 399

android BitmapFactory.Options参数介绍

android BitmapFactory.Options各个参数介绍
  • choha
  • choha
  • 2015-10-22 15:16:26
  • 475

浅谈BitmapFactory.Options

BitmapFactory.optionsBitmapFactory.Options类是BitmapFactory对图片进行解码时使用的一个配置参数类,其中定义了一系列的public成员变量,每个成员...
  • showdy
  • showdy
  • 2017-01-12 15:45:11
  • 2385

Android实践:高效加载Bitmap

转自 http://blog.csdn.net/p106786860/article/details/53260463 一、BitmapFactory.Options简介 在Android...
  • sinat_30474567
  • sinat_30474567
  • 2016-11-21 17:07:38
  • 696

android BitmapFactory.Options 优化bitmap图像

在使用 BitmapFactory 解析 bitmap 图像的时候,使用 options 选项可以配置 bitmap 对象的一些属性: BitmapFactory.Options opt...
  • zhaoyw2008
  • zhaoyw2008
  • 2013-12-12 01:11:23
  • 4248

Android使用BitmapFactory.Options压缩图片解决加载大图片内存溢出

由于Android对图片使用内存有限制,若是加载几兆的大图片便内存溢出。Bitmap会将图片的所有像素(即长x宽)加载到内存中,如果图片分辨率过大,会直接导致内存溢出(java.lang.OutOfM...
  • heng615975867
  • heng615975867
  • 2016-01-26 21:10:02
  • 1881

Android实践:如何高效加载Bitmap

一、BitmapFactory.Options简介 在Android开发中,加载图片过多、过大很容易引起OutOfMemoryError异常,即我们常见的内存溢出。因为Android对单个应用施加内存...
  • p106786860
  • p106786860
  • 2016-11-21 16:16:03
  • 1559

BitmapFactory.Options解决Android加载图片内存溢出的问题

BitmapFactory.Options解决Android加载图片内存溢出的问题1. 在Android软件开发过程中,图片处理是经常遇到的。 在将图片转换成Bitmap的时候,由于图片的大小不一样,...
  • u014225510
  • u014225510
  • 2015-05-06 21:34:02
  • 1289
收藏助手
不良信息举报
您举报文章:Android中BitmapFactory.Options详解
举报原因:
原因补充:

(最多只允许输入30个字)