首先,我知道使用inJustDecodeBounds和inSamplesize 以接近所需大小的大小加载位图的推荐方法。然而,这是一种相当广泛的方法,只能获得与目标近似的图像。
我想利用options.inDensity并options.inTargetDensity欺骗本机加载程序将图像更精确地缩放到所需的目标大小。基本上我设置options.inDensity为图像的实际宽度和options.inTargetDensity所需的宽度,我确实得到了所需尺寸的图像(在这种情况下,纵横比恰好保持不变)。然后我设置image.setDensity(DENSITY_NONE)生成的图像,一切似乎都可以正常工作。
有人知道这种方法有什么问题吗?关于内存效率和图像质量的任何想法?