感谢Schermvlieger询问this问题上anddev.org,速度优化使用BitmapFactory.Options.inSampleSize的
我只是复制他的问题,从而没有人对对方回答网站,我也面临同样的问题。
我想知道什么是BitmapFactory.Options.inSampleSize
关于显示图像的速度的最佳使用。
说明文档中提到使用是2的功率值,所以我用2,4,8,16等
我想知道的事情是工作:
- 我应该重新取样下来到仍然大于屏幕分辨率的最小尺寸,或者我应该采样到足够大的尺寸以避免
OutOfMemoryError
? - 如何计算可以在内存不足的情况下仍可以显示的图像的最大尺寸?图像的颜色深度是否也起作用以及显示的深度?
- 通过两种机制显示图像是否高效(大文件为
BitmapFactory
,小文件为setImageURI()
)顺便说一句,我使用的是ImageSwitcher
。 - 它会帮助在应用程序的开始时创建
Bitmap
,BitmapFactory.Options
和inTempStorage
,或者在需要时创建它们吗?
当你说“在绘制时缩放图像非常昂贵”,它是否包含options.inSampleSize? – kape123 2013-02-14 03:44:57
inSampleSize用于在加载时缩放图像,而不是在绘制时间。这是预分辨图像的一种非常好的方法。 – 2013-02-14 17:51:23