息,便是在开发中经常需要的:
java.lang.OutofMemoryError:bitmap size exceeds VM budget
为了解决这个问题,就出现了Bitmap的高效加载策略。其实核心思想很简单。假设
通过ImageView
来显示图片,很多时候ImageView
并没有原始图片的尺寸那么大,
这个时候把整个图片加载进来后再设置给ImageView
,显然是没有必要的,因为
ImageView
根本没办法显示原始图片。这时候就可以按一定的采样率来将图片缩小
后再加载进来,这样图片既能在ImageView
显示出来,又能降低内存占用从而在一
定程度上避免OOM
,提高了Bitmap
加载时的性能
二、Bitmap高效加载的具体方式
1.加载Bitmap的方式
Bitmap在Android中指的是一张图片。通过BitmapFactory类提供的四类方法:
decodeFile
,decodeResource
,decodeStream
和decodeByteArray
,分别从文件系统,
资源,输入流和字节数组中加载出一个Bitmap对象,其中
decodeFile,decodeResource
又间接调用了decodeStream
方法,这四类方法最终是
在Android的底层实现的&#x