Android BitmapFactory.Options
public Bitmap inBitmap 如果设置,解码选项“对象的方法,采取将尝试重用这个位图加载内容时。
public int inDensity 使用的位图的象素密度。
public boolean inDither 如果抖动是真实的,解码器将尝试到抖动的解码图像。
public boolean inInputShareable 此字段一起选择inPurgeable。
public boolean inJustDecodeBounds 如果设置为true,解码器将返回null(位图),但输出...
public boolean inMutable 如果设置,解码方法总是返回一个可变的位图,而不是一个一成不变的。
public boolean inPreferQualityOverSpeed 如果inPreferQualityOverSpeed设置为true,解码器将尝试解码重建图像以较高的质量,甚至不惜牺牲的解码速度。
public Bitmap.Config inPreferredConfig 如果非空,这个内部配置解码器将尝试解码。
public boolean inPurgeable 如果设置为true,则生成的位图将分配给它的像素,这样它们可以被清除,如果系统需要回收内存。
public int inSampleSize 如果设置为> 1的值,要求的解码器,以进行子采样的原始图像,返回一个较小的图像,以节省内存。
public boolean inScaled 当设置了这个标志,如果夏季风和inTargetDensity不为0,位图将进行调整,以符合inTargetDensity时加载,而不是依赖它每次被画到画布上的图形系统结垢。
public int inScreenDensity 正在被使用的实际的屏幕的像素密度。
public int inTargetDensity 目的地的像素密度的这个位图将被吸引到。
public byte[] inTempStorage 温度存储用于解码。
public boolean mCancel 表明,取消已经对这个对象调用的标志。
public int outHeight 位图高度,设置独立的状态inJustDecodeBounds。
public String outMimeType 如果知道,这个字符串解码后的图像的mime类型设置为。
public int outWidth 位图的宽度,设置独立的状态inJustDecodeBounds。
inJustDecodeBounds设为true,BitmapFactory.decodeFile(String path, Options opt)并不会真的返回一个Bitmap给你,它仅仅会把它的宽,高取回来给你,就不会占用太多的内存。
BitmapFactory.Options options = new BitmapFactory.Options();
options.inJustDecodeBounds = true;
Bitmap bmp = BitmapFactory.decodeFile(path, options);
/* 这里返回的bmp是null */
宽和高:options.outWidth 和 options.outHeight
获取图片指定大小的缩略图:
/* 计算得到图片的高度 */
/* 这里需要主意,如果你需要更高的精度来保证图片不变形的话,需要自己进行一下数学运算 */
int height = options.outHeight * / options.outWidth;
options.outWidth = ;
options.outHeight = height;
/* 这样才能真正的返回一个Bitmap给你 */
options.inJustDecodeBounds = false;
Bitmap bmp = BitmapFactory.decodeFile(path, options);
image.setImageBitmap(bmp);
要节约内存,还需要用到BitmapFactory.Options这个类里的 inSampleSize 这个成员变量:
inSampleSize = options.outWidth / ;
另外,为了节约内存我们还可以使用下面的几个字段:
options.inPreferredConfig = Bitmap.Config.ARGB_4444; // 默认是Bitmap.Config.ARGB_8888
/* 下面两个字段需要组合使用 */
options.inPurgeable = true;
options.inInputShareable = true;
Android BitmapFactory.Options的更多相关文章
- Android学习笔记之BitmapFactory.Options实现图片资源的加载...
PS:小项目总算是做完了...历经20多天...素材,设计,以及实现全由自己完成...心力憔悴啊...该写写博客记录一下学习到的东西了... 学习内容: 1.使用BitmapFactory.Optio ...
- Android实战简易教程-第九枪(BitmapFactory.Options对资源图片进行缩放)
我们知道,我们编写的应用程序都是有一定内存限制的.程序占用了过高的内存就easy出现OOM(OutOfMemory)异常.因此在展示高分辨率图片的时候,最好先将图片进行压缩,压缩后的图片大小应该和用来 ...
- Android使用BitmapFactory.Options解决加载大图片内存溢出问题
由于Android对图片使用内存有限制,若是加载几兆的大图片便内存溢出.Bitmap会将图片的所有像素(即长x宽)加载到内存中,如果图片分辨率过大,会直接导致内存溢出(java.lang.OutOfM ...
- android 下载图片出现SkImageDecoder::Factory returned null,BitmapFactory.Options压缩
网上有很多说是因为没有采用HttpClient造成的,尼玛,我改成了HttpClient 请求图片之后还是会出现SkImageDecoder::Factory returned null, 但是直接使 ...
- android之BitmapFactory.Options的使用
怎样获取图片的大小? 首先我们把这个图片转成Bitmap,然后再利用Bitmap的getWidth()和getHeight()方法就可以取到图片的宽高了. 新问题又来了,在通过BitmapFactor ...
- 【转】BitmapFactory.Options
BitmapFactory.Options这个类的信息:http://developer.android.com/reference/android/graphics/BitmapFactory.Op ...
- Android BitmapFactory图片压缩处理(大位图二次採样压缩处理)
Android实际开发中.在载入大量图片的时候.比方ViewPager.GridView.ListView中,载入了大量的比較大图片就easy出现OOM(内存溢出)的异常,这是由于一个应用的最大内存使 ...
- BitmapFactory.Options对图片进行缩放
package com.pingyijinren.helloworld.activity; import android.graphics.Bitmap; import android.graphic ...
- BitmapFactory.Options
BitmapFactory.Options bmpFactoryOptions = new BitmapFactory.Options(); bmpFactoryOptions.inSampleSiz ...
随机推荐
- PCA简单实现
''' 总结一下PCA的算法步骤: 设有m条n维数据. 1)将原始数据按列组成n行m列矩阵X 2)将X的每一行(代表一个属性字段)进行零均值化,即减去这一行的均值 3)求出协方差矩阵C=1/m*(XX ...
- 让 Linux grep 的输出不换行
在Redhat中亲测. 本来ps -ef的输出是不会换行的,但是 ps -ef | grep java 就换行了. 如果想让grep完的结果不要换行,找到两种方法. 1. 在后面拼接 less -S: ...
- hibernate关联关系的crud2
hibernate关联关系的CRUD操作,解释都在注释里了,讲了fetchType.cascade. User类: package com.oracle.hibernate; import javax ...
- Spring Boot遇到的某些问题
Spring Boot遇到的某些问题 1.关于templates的html包格式问题: <properties> <project.build.sourceEncoding>U ...
- devise在引擎中安装后,设置访问自定义页面
rails generate devise:views User Turn on scoped_views in config/initializer/devise.rb view config.sc ...
- 13 Timer和TimerTask
下面内容转载自:http://blog.csdn.net/xieyuooo/article/details/8607220 其实就Timer来讲就是一个调度器,而TimerTask呢只是一个实现了ru ...
- Leetcode 337. House Robber III
337. House Robber III Total Accepted: 18475 Total Submissions: 47725 Difficulty: Medium The thief ha ...
- jQuery插件开发之datalist
HTML5中定义了一种input框很好看的下拉列表--datalist,然而目前它的支持性并不好(万恶的IE,好在你要渐渐退役了...).于是最近更据需求写了一个小型datalist插件,兼容到IE8 ...
- 写Markdown费事?Typora让你像写word一样行云流水,所见即所得。
Typora 简介 Typora删除了预览窗口,以及所有其他不必要的干扰.取而代之的是实时预览. Markdown的语法因不同的解析器或编辑器而异,Typora使用的是GitHub Flavored ...
- [转]asp.net权限认证:摘要认证(digest authentication)
本文转自:http://www.cnblogs.com/lanxiaoke/p/6357501.html 摘要认证简单介绍 摘要认证是对基本认证的改进,即是用摘要代替账户密码,从而防止明文传输中账户密 ...