2017-04-24 82 views
1

我在寫一個android應用程序。我有一個ArrayAdapter,我正在使用它來顯示項目的一部分,其中每個項目的一部分是圖像。我在adapers getView()方法中異步下載圖像,我正在使用緩存來儘可能保持高效,並停止太多重新下載。我面臨的問題是,每個項目的getView()方法都可以根據需要多次被android調用。它通常被稱爲比圖像實際上可以下載更快,因此相同的圖像可以排隊多次下載,甚至進入緩存之前。是否有一個最佳做法,以防止圖像重複排隊等待下載?這似乎是移動數據的一大浪費。Android,在列表適配器中高效加載圖像

+0

it's過多解釋清楚,但此開發指南幫助:https://developer.android.com/topic/perfor mance/graphics/load-bitmap.html – Opiatefuchs

回答

0

是由谷歌在列表或recyclerview下載和顯示圖像推薦接受的最佳做法是使用滑翔庫

https://github.com/bumptech/glide

的API看起來像這樣

Glide.with(context) .load(url) .centerCrop() .placeholder(R.drawable.loading_spinner) .crossFade() .into(myImageView);

+0

這有一些怪癖和侷限性,因爲我用圓角的圖像,但它似乎非常好,謝謝。沒有問題,你無法繞過一點研究 –

+0

是的,滑翔真棒:D – Shmuel

1

如果你想使用第三方圖片下載庫,那麼你可以使用Picasso
其actullay相當整潔和簡單易用。它爲您的應用程序緩存。
您可以參考this教程。
快樂學習:)

相關問題