2012-09-28 52 views
0

我正在嘗試使用從MediaStore返回的媒體縮略圖來找到一種有效的方法。實際上,有兩種縮略圖:MICRO_KIND,它是方形的,尺寸96x96,與設備或平臺無關;和MINI_KIND,這對於橫向圖像大約是512x384,對於肖像圖像大約是288x512,也是設備和平臺無關的。現在,我正在使用異步加載,循環和緩存的所有最佳實踐,實際上,當我使用MICRO_KIND時,我的應用程序工作得很好。無論如何,這不是我想要的,特別是對於那些小圖像看起來很差的平板電腦。我試過使用MINI_KIND,但它很快就超出了內存限制,而不是執行。另一個麻煩是肖像圖像有肖像縮略圖,我需要它們都是矩形景觀。我已經嘗試剪裁併調整大小以保持縱橫比,但是這讓我更加頭痛,因爲對於每次操作的Bitmap都會創建一個副本,而且從來不會總是使用Bitmap.recycle()方法,而OutOfMemory會一次又一次地殺死我。我正在尋找一種優雅而高效的創建嚴格指定大小和方向縮略圖的方法,使用從MediaStore查詢的那些。將非常感謝任何幫助和參考。使用媒體縮略圖時的內存問題

+0

你可能有內存泄漏,請用[MAT](http://www.eclipse.org/mat/)檢查你的代碼。 – Shrikant

+0

@Shrikant,謝謝,會試試。 – Egor

回答

2

正如您所說,您已經使用了從裁剪到回收的所有功能,現在您也可以使用WeakReferences

如果這也沒有幫助,那麼你的代碼中可能會有內存泄漏。

請看到我對同一個問題的答案:bitmap size exceeds Vm budget error android

它是一個通用的答案,與我所提到的所有方法試試。其中一人應該爲你工作:)

謝謝。

+0

感謝您的參考,應該看看。 – Egor