2012-07-18 91 views
-1

首先,我是Android的新手。這個問題可能很愚蠢。請跟我來。Android:降級圖像位圖質量,使活動加載更快

我的活動加載用戶拍攝的大量照片(外部),並在縮略圖(小尺寸圖片)中顯示在listView或Horizo​​ntalScrollView中。我不知道是否有任何好方法來加快位圖加載?我使用了bitmapFactory.insampleSize來縮小它。 inDensity會有幫助嗎?任何其他好方法?

我在考慮爲每個圖像保存低質量的副本,因此每次應用程序都會顯示縮略圖低質量的圖像,除非用戶真的想看到原始圖像。這適用嗎?如果是這樣,有什麼辦法?

在此先感謝!

+0

無論如何,在你加載一個之後你就會縮放一個,而且這是大部分時間消耗的加載。如果您在加載時顯示圓形進度條,那麼用戶可能會很高興 – 2012-07-18 18:52:13

回答

1

我會建議你創建你的位圖的縮小版本。請按照http://developer.android.com/training/displaying-bitmaps/load-bitmap.html#load-bitmap瞭解如何縮小版本的位圖。因爲它是縮放版本的位圖以顯示縮略圖,所以它當然會節省您的內存使用量。

+0

感謝您的回覆。我使用insampleSize縮小了位圖,但仍需要相當長的時間。 – 2012-07-18 21:05:35

+0

如果您仔細檢查鏈接,它首先根據所需的高度和寬度計算inSampleSize。所以,首先調用decodeResource來檢查維度(check,options.inJustDecodeBounds首次設置爲true)。下一次調用decodeResource時,options.inJustDecodeBoundsis設置爲false。 它工作得很好,因爲我自己已經使用它來拋出OOM例外的沉重圖像。如果可能,分享您的代碼。 – Veer 2012-07-19 13:11:05