[英]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.