上下文:Android:Gridview緩存過期項目,如何確保在頁面重新加載時爲每個顯示項目調用getview?
我有一個主要活動,持有6個選項卡,每個選項卡包含30+圖像的gridview,並且在任何時刻顯示8個圖像(每個gridview是可縮放的)。
有了這些許多圖像,我實現了一個簡單的緩存系統,即只緩存最新的25個,如果需要顯示新圖像並且不在緩存中,我將從/ data/date解碼該圖像目錄並覆蓋緩存中最舊的條目。在覆蓋最舊的條目之前,我將調用Bitmap.recycle()。
問題:
在某些時候,displying超過25張圖片後,舊的圖像將開始回收。如果我現在要回到其中一個標籤,其Image不再位於緩存中,則GetView方法將重新加載該圖片。該問題不是Gridview中的第一個項目將調用GetView,圖像的其餘部分將永遠不會調用,並且Gridview將嘗試顯示一個已經被回收的緩存圖像。
有何建議?在這種情況下強制獲取視圖還是一種聰明的方式來緩存圖像?
大加讚賞
感謝