设备库如何显示大图像?

时间:2014-08-06 12:29:42

标签: android out-of-memory android-image image-gallery

每当我尝试在imageview中显示大尺寸(1 MB)位图时,系统会抛出OutOfMemory异常。

如果我放置7-8 MB图像,画廊可以轻松显示该图像。

只是想知道设备默认图库如何以简单的方式显示大图?

  1. 设备库使用了哪种机制?

1 个答案:

答案 0 :(得分:0)

一般来说,他们对图像进行子采样。 1MB PNG或JPEG文件的分辨率将比屏幕高得多,因此加载整个图像是浪费的。子采样允许您将图像加载到更接近ImageView的实际大小。使用,让它更好地适应记忆。一种简单的子采样方法涉及在inSampleSize上使用BitmapFactory.Options; Dave Morrissey's SubsamplingScaleImageView提供了缩放缩放等功能,同时执行子采样(注意:我没有尝试过这个组件,因为我刚刚在一分钟之前遇到过它)。