【发布时间】:2013-04-18 07:04:03
【问题描述】:
我有一个问题,我似乎无处可寻。 这行代码是否:
final BitmapFactory.Options options = new BitmapFactory.Options();
options.inJustDecodeBounds = true;
BitmapFactory.decodeStream(is, null, options);
实际上是说,那个文件正在被下载? Android 文档是这样说的:
使用 inJustDecodeBounds=true 解码以检查尺寸
和 是否:
options.inSampleSize = calculateInSampleSize(options, reqWidth,
reqHeight);
// Decode bitmap with inSampleSize set
options.inJustDecodeBounds = false;
BitmapFactory.decodeStream(is, null, options);
意味着它实际上会下载更小的文件(不下载为原始大小,然后复制到更小的位图)。
清晰的例子:我有一些指向许多 2000 x 1500 图像的 url。通过解码这些文件并将它们加载到位图,如果我只需要 (200 x 150) 的缩略图,我是否需要有足够的内存来以全分辨率 (2000 x 1500) 下载文件?
【问题讨论】:
-
我认为您需要下载完整分辨率(2000 x 1500),除非服务器提供任何尺寸减小参数。
标签: android decode bitmapfactory sample-size