2012-05-01 22 views
0

我顯示與列表視圖形成標籤巨大看法備份定製實施BaseAdapter。 ListView從擴展BaseAdapter的Adapter中獲取數據。每次,我都來回移動標籤,傳呼機往往會在ListView中一次又一次地創建視圖,浪費我珍貴的CPU。優化的ListView通過緩存查看產生

OK,所以我嘗試使用BaseAdapter的getView parentView.getChild(atIndex),但只是廢墟上滾動的ListView的看法。

問題,任何方式通過優化緩存視圖的表現?

問候,

回答

2

ListView控件已經回收了意見。回收的視圖將是適配器getView方法中的View參數。

你也應該考慮使用ViewHolder模式,避免了一堆findViewById調用。請參閱此鏈接瞭解更多詳情http://developer.android.com/resources/samples/ApiDemos/src/com/example/android/apis/view/List14.html

編輯:這裏的一些引用我一直在尋找今晚優化列表視圖:

http://lucasr.org/2012/04/05/performance-tips-for-androids-listview/

http://www.youtube.com/watch?v=wDBM6wVEO70

+0

老兄,你真棒。 Good_Karma_for_cory ++ –

+0

啊哈,答案是不是我想的那樣。我的錯,我誤解了你的評論。但是,你是正確的,使用ViewHolder模式幫助了一堆,但如缺少值的下一個視圖,它使用從以前的觀點垃圾數據。還是非常感謝。它絕對有助於提高性能。 –

+0

您是否查看了該鏈接中的getView()方法,並查看它們如何重用循環視圖並使用set/getTag方法將引用保存到每行需要更新的子視圖?除非我誤解了你的問題,否則這似乎可以解決你的問題。我只是在今晚觀看了ListViews上的一個Google I/O視頻,他們特別說你不應該試圖緩存視圖,因爲ListViews已經高度優化了效率。讓我看看我能不能找到視頻。 –