我必須在Mockup中實現設計,我的列表將從服務器獲取實時數據並緩存它。動態列表視圖 - 設計模式
列表將包含大圖像和高達1000 項目的。
- 用戶將設置限制。
- 圖像可以是任何大小的MB或任何分辨率。
- 如果太大,我肯定會重新調整圖像大小。
向上和/或向下滾動時,列表應加載本地緩存(存儲)或從服務器下載的數據。由於如此巨大的列表將需要大量的內存和處理(這在移動設備上不可用),所以我需要應用非常優化的設計模式。
問題
任何人都可以請提出這方面的任何設計模式?
你將如何實現這一點?
我必須在Mockup中實現設計,我的列表將從服務器獲取實時數據並緩存它。動態列表視圖 - 設計模式
列表將包含大圖像和高達1000 項目的。
向上和/或向下滾動時,列表應加載本地緩存(存儲)或從服務器下載的數據。由於如此巨大的列表將需要大量的內存和處理(這在移動設備上不可用),所以我需要應用非常優化的設計模式。
問題
任何人都可以請提出這方面的任何設計模式?
你將如何實現這一點?
你可以存儲圖像,並可以使用高速緩存,並使用一個後臺進程就像一個服務填充數據庫數據庫中的數據。
Commonsguy(馬克·墨菲)實現了一個非常漂亮的無盡的ListView這裏:
https://github.com/commonsguy/cwac-endless
它避免加載大量數據的列表視圖設置,並允許用戶以滾動進入滾動越來越多的元素。我測試了它,它非常整齊:到達底部時添加的元素數量,異步加載等。您必須處理回滾部分,因爲實際上,向下滾動時滾動會動態增加(不是向上)。
在你的情況下,你有大量的數據特別是圖像的,你應該使用裝載器類的概念,通過rominGuy在Google IO-2010 這裏解釋你重用的每一行,當它熄滅的觀點和另一排進來的知名度。
http://stackoverflow.com/questions/15621936/whats-lazylist/15622374#15622374。使用LazyList或通用圖像加載器,併爲每行填充自定義適配器和自定義佈局。如果圖像很大,則需要縮小比例。 LazyList可以縮放,並可以在SD卡中緩存圖像。 – Raghunandan
https://github.com/lalit3686/ImageCacheDemo –
謝謝@Raghunandan,它非常有用。你認爲,如果我實現[翻轉動畫](https://github.com/openaphid/android-flip)而不是ListView,它將同樣好用嗎? –