1、图像的加载 P336 - 342
(1)如果要处理一个非常大图像,可以使用 BitmapRegionDecoder
将图片进行区域解码,得到部分图像。
(2)通过设置 BitmapFactory.Options.inJustDecodeBounds
可以只得到图像的分辨率而防止其加载到内存中。
(3)BitmapFactory.Options.inSampleSize
与图片的缩小比例有关,该值必须是 2 的整数次幂,如果不是,则会自动向下取得符合要求的值,如 inSampleSize
如果设置为 7,则会取成 4,最终缩放的时候就会使宽、高都变为原来的 1/4
,因此,所得到的位图的像素数量是原始的 1/16
。而当 inSampleSize <= 1
时, 按 1 处理。
优点:计算速度快;缺点:不能达到精确的预期缩放大小。
(4)也可以使用下面的参数进行精确的缩放:
参考代码:
优点:计算速度慢;缺点:能达到精确的预期缩放大小。
2、图像的缓存 P343 - 348
可以利用 LruChche