Bitmap加载图片,BitmapFactory类提供四类方法
- decodeFile() // 加载文件
- decodeResource() // 加载资源
- decodeStream() // 加载流资源
- decodeByteArray() // 加载字节
高效加载Bitmap核心思想就是采用BitmapFactory.Options来加载所需尺寸的图片。
通过BitmapFactory.Options来缩放图片,主要是用到了它的inSampleSize参数,即采样率。
- 当inSampleSize为1时,采样后的图片大小为图片的原始大小
- 当inSampleSize大于1时,比如2,那么采样后的图片其宽高均为原图大小的1/2,而像素为原图的1/4,其占有的内存大小也为原图的1/4.
获取采样率流程:
- 1 将BitmapFactory.Options的inJustDecodeBounds参数设为true并加载图片。
- 2 从BitmapFactory.Options中取出图片的原始宽高信息,它们对应于outWidth和outHeight参数。
- 3 根据采样率的规则并结合目标View的所需大小计算出采样率inSampleSize.
- 4 将BitmapFactory.Options的inJustDecodeBounds参数设为false,然后重新加载图片
网友评论