图片加载的基本方式

图片很耗内存,同时了也是极其重要的一个模块。各种各样的色彩,让app更加酷炫。

主要涉及到的类
BitmapFactory
BitmapFactory.Options

加载图片的方式
BitmapFactory的一系列decode函数。通常,不直接加载图片,而是获取图片的大致信息。比如高度,宽度,图片类型,然后根据实际情况,获取缩放后的图片(试想,磁盘中的图片很大,直接加载图片,只会造成OOM  (^-^))

获取图像大略信息,主要是要设置 BitmapFactory.Options.inJustDecodeBounds = true
BitmapFactory.Options options = new BitmapFactory.Options();
options.inJustDecodeBounds = true;
BitmapFactory.decodeResource(getResources(), R.id.myimage, options);
int imageHeight = options.outHeight;
int imageWidth = options.outWidth;
String imageType = options.outMimeType;

int BitmapFactory.Options.outHeight  图片的实际高度
int BitmapFactory.Options.outWidth  图片的实际宽度
int BitmapFactory.Options.inSample  缩放的系数,比如 inSample=2时,内存图片的高度和宽度都是实际图片的一半。

获取到图片的大略信息之后,可以计算Options.inSample的值,然后就是直接加载图像了。

Android3.0及其后版本,可以复用已经申请的图片内存。
主要需要设置
Bitmap BitmapFactory.Options.inBitmap   这是将被复用的图片。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值