當顯示一個包含大量位圖(全屏,wvga)的圖庫時,我經常遇到內存不足的問題。我認爲這與位圖不被回收有關。何時/如何強制位圖被回收?何時安全/可以在Android SimpleCursorAdapter中使用Gallery視圖回收位圖?
我還注意到,在simpleCursorAdapter的getView方法中,convertView始終爲null。我認爲這意味着舊視圖不會被回收?即使滾動來回,每次都會創建一個新視圖。但是,來回滾動不會導致內存不足問題,只有在圖像總數足夠大時纔會發生。
與ListView一起使用同一個適配器時,視圖被回收,所以看起來問題在於Gallery。
我能做些什麼來強制視圖和/或位圖被回收?我還能做什麼來管理內存,而不會降低圖庫大小和位圖質量。
您是否嘗試過像'purgeable'這樣的各種位圖選項 - 您是否在圖庫中使用了預縮放或高質量圖像?你見過'SoftReference' /'WeakReference'用於內存管理嗎? – 2010-12-15 13:56:06