簡體   English   中英

在ListView中存儲和加載大量圖像的最佳實踐

[英]Best practice of storing and loading a lot of images in a ListView

我的應用程序具有ListView ListView有很多圖像。

1)將這些圖像預加載到ListView的最佳/最有效方法是什么? (我設置的圖像bindView()SimpleCursorAdapter )。 我應該將它們存儲為資產,原始文件還是可繪制目錄中?

如果我將圖像存儲在drawable ,則基本上是它們的名稱,但沒有int資源。

2)是getIdentifier()去這里的方式嗎?

該應用程序查詢服務器是否有新的圖像集。 如果它們可用,則懶惰地下載它們並將其存儲到緩存中。 現在,舊圖像已無用。

3)有什么辦法擺脫它們?

我建議您嘗試使用Picasso。它可以處理緩存和圖像加載。

在Adapter類的getView方法中,您只需要一行代碼。

Picasso.with(context).load(image_url).into(holder.imageView);

將這些圖像預加載到ListView中的最佳/最有效方法是什么?

您已經在使用LazyList,所以這是perfetct

 Should I store them as assets, raw files or in the drawable directory? 

那要看你的選擇

有什么辦法擺脫它們?

是的,轉到lazylist中的FileCache類,那里會有一個變量cacheDir

它實際上告訴您存儲較舊/緩存圖像的目錄,因此您可以從那里執行任何操作

編輯:這是惰性列表的鏈接https://github.com/thest1/LazyList

它的作用是,它在加載到iamgeview之前先對圖像進行下采樣,從而節省了大量內存,我猜它使用了Viewholder模式,因此不必擔心內存泄漏,而且它異步加載圖像,因此UI不會滯后圖像正在加載

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM