2011-12-01 53 views
3

我正在開發我的第一個Android應用程序。我有一個ListActivity,它使用SimpleCursorAdapter()用自定義佈局填充列表。當行數變得非常大時,加載列表的有效方法是什麼?在ListActivity中使用SimpleCursorAdapter與很多行

由於我是Android新手,我不確定幕後會發生什麼。假設我的結果集返回500行 - ListActivity只會呈現那些位於可見區域中的圖像,還是會渲染所有500個圖像?

我應該改爲執行ListView.OnScrollListener來一次只加載25行嗎?是否有某種內置的分頁機制,我還沒有偶然發現?

回答

2

不要擔心數據集的大小,因爲系統會進行必要的優化。 在光標加載的地方,請確保您使用的是LoaderManagerCursorLoader,因爲使用SimpleCursorAdapter構造函數現在已被棄用,因爲它導致遊標查詢在UI線程上運行(請參閱this )。

+0

嗯,我終於得到了一個ListFragment與自定義加載器(基於CursorLoader)打擊我的SQLite數據庫。謝謝你的幫助。這花了一些時間來包裹我的頭。 –

0

Android將創建和銷燬在其認爲合適的ListView的每個視圖,你不應該需要擔心它。像春暉說的那樣,ViewHolder模式如果感覺緩慢,也會有助於提高ListView的幀速率。