感謝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