BitmapFactory.Options.inSampleSize没有被尊重?

时间:2011-08-04 21:43:12

标签: android

我在磁盘上有一张尺寸为2560 x 1920的照片。这通常太大而无法加载到内存中,因此我尝试使用BitmapFactory.Options.inSampleSize来节省内存。来自文档:

  

inSampleSize:如果设置为值> 1,请求解码器对原始图像进行二次采样,返回较小的图像以节省存储空间。

这就是我使用它的方式:

BitmapFactory.Options optsDownSample = new BitmapFactory.Options();
optsDownSample.inSampleSize = 3;

Bitmap bmp = BitmapFactory.decodeFile(path, optsDownSample);

但应用程序有时仍会在最后一行崩溃,而从logcat我可以看到它正在尝试分配〜5mb,我怀疑这是因为下采样并没有真正得到尊重。

其他人都知道这里会发生什么,我是否错误地使用了inSampleSize?

由于

1 个答案:

答案 0 :(得分:0)

我也在努力了解如何使用BitmapFactory.Options,基于我阅读过的所有文档我相信您错过了Android Developers网站上显示的optsDownSample.inJustDecodeBounds = false;

祝你好运!