[英]Use SimpleCursorAdapter in ListActivity with lots of rows
我正在開發我的第一個Android應用程序。 我有一個ListActivity
,它使用SimpleCursorAdapter()
用自定義布局填充列表。 當行數變得非常大時,加載列表的有效方法是什么?
由於我是Android的新手,我不確定幕后會發生什么。 假設我的結果集返回500行 - ListActivity
只會呈現可見區域中的那些還是會嘗試渲染所有500行?
我應該實現ListView.OnScrollListener
只加載說,一次25行嗎? 有沒有某種內置的分頁機制,我還沒有偶然發現?
不要擔心數據集大小的效率,因為系統將進行必要的優化。 你可以在哪里使事情變得更加平滑是光標的加載:確保你正在使用帶有CursorLoader的 LoaderManager ,因為現在不推薦使用SimpleCursorAdapter構造函數,因為它導致在UI線程上運行游標查詢(參見本文 ) 。
我想你需要使用視圖持有者模式重用ListView行,查看本教程http://www.vogella.de/articles/AndroidListView/article.html
Android會根據需要創建並銷毀ListView中的每個View,您不必擔心它。 就像Chunhui說的那樣,ViewHolder模式也有助於提高ListView的幀率,如果它感覺遲鈍的話。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.