我已閱讀了一些關於延遲加載的文章,但我相信我的問題有點不同。Android:在圖庫中的延遲加載
我有一個畫廊(我的班級擴展畫廊),其中顯示20個相當大的圖像(每個400-500K)。自從出現OutOfMemory異常後,我無法將它們全部加載到庫中。
因此,我創建了20個Drawable的數組,並且最初填充了前9個元素(圖像來自Web),並將所有其餘元素設置爲null。我的意圖是這樣的:在右邊的一個扔,取元素沒有。 10並設置爲空元素號。 0.在另一個正確的提取元素沒有。 11並設置爲空元素號。 1爲null。同樣的邏輯放在左邊。
問題是我可以扔掉比元素更快的速度。 我的展廳有一個BaseAdapter及其getView()看起來是這樣的:
public View getView(int position, View convertView, ViewGroup parent){ ImageView imageView = new ImageView(); imageView.setDrawable(imageArray[position]; .... .... return imageView; }
我如何告訴getView() - 如果imageArray [位置]仍是空,顯示「正在加載...」對話框,一旦它被設置重複自己與相同的位置?
我不想看到imageView爲空,然後立即設置。我希望在設置之前無法看到imageView。
謝謝。
在Android博客上有一篇很棒的文章(以及一些示例代碼)可以回答您的問題:http://android-developers.blogspot.com/2010/07/multithreading-for-performance.html – Ally 2011-10-18 21:05:42