Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/221.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android BitmapFactory.Options.inSampleSize是否不受尊重?_Android - Fatal编程技术网

Android BitmapFactory.Options.inSampleSize是否不受尊重?

Android BitmapFactory.Options.inSampleSize是否不受尊重?,android,Android,我在磁盘上有一张2560 x 1920的照片。这通常太大,无法加载到内存中,因此我尝试使用BitmapFactory.Options.inSampleSize来节省内存。从文档中: inSampleSize:如果设置为大于1的值,则请求解码器对原始图像进行二次采样,返回较小的图像以节省内存 我就是这样使用它的: BitmapFactory.Options optsDownSample = new BitmapFactory.Options(); optsDownSample.inSampleSi

我在磁盘上有一张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


谢谢

我也在努力理解如何使用
位图工厂。选项
,根据我阅读的所有文档,我相信您只是缺少
optsDownSample.inJustDecodeBounds=false如现场所示


祝你好运

可能inSampleSize应该是2的幂?看吧,可能吧,医生们只是说两个人的力量更容易被尊重,我会尝试一下,谢谢你指出这一点!是的,现在好像要服用了,谢谢!嗯嗯。。。我试图让他在回答上面发表评论,但Stackoverflow强迫他发表评论(因为这是一种评论)?你还能给我“声誉”吗?试着把你的评论/解决方案作为一个答案,也许他会接受。