2011-12-01 51 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的帧速率。