我将我的问题提到以下文章: https://developer.android.com/topic/performance/graphics/load-bitmap
加载内存优化图像的方法在我的项目中不起作用。
简化示例:
但结果取决于我的设备的分辨率!
所以即便如此,当我为给定的屏幕分辨率计算完美的inSampleSize时,我将得到解码位图的正确结果。这很令人困惑,因为很多信息来源都是这么简单的推荐方式。
我的解决方案是将options.inScaled Flag设置为false(默认为true)。在此步骤之后,位图具有正确的大小(不依赖于屏幕分辨率)。
我在某处有思考错误吗?
此外: 在解码完整图像之前(使用options.inJustDecodeBounds = true;)options.outHeight / options.outWidth显示原始图像的分辨率。这意味着在计算inSampleSize时没有机会处理这个问题(参见https://developer.android.com的文章)。