android如何显示包含200个元素的列表?

时间:2010-06-27 13:35:03

标签: android android-ui

当我有ListActivity和Adapter时,Android如何处理包含200个元素的列表。 它是否尝试直接加载它们如何等待用户滚动然后呈现这些元素?

列表太长时,我是否需要担心性能?

3 个答案:

答案 0 :(得分:1)

取决于适配器的实现方式。

如果您有一个非子类的适配器(您使用的是SDK提供者),Android将尝试直接加载所有这些。

我建议继承SimpleCursorAdapter并实现自定义适配器。这样,您将拥有10个视图(您的屏幕需要的数量),以及将在190个记录中的其余部分重用的视图。

答案 1 :(得分:1)

这个问题有几个部分。首先,数据本身。这是通过查询来自SQLite数据库吗?如果是这样,您有一个Cursor对象,其中包含整个结果。因此,如果你有一个产生200行的查询,你将在内存中拥有所有200行(这就是为什么缩小你的预测非常重要。)

至于列表本身,该部分非常有效 - Android只会为您实际可以看到的元素创建视图。而且,根据您拥有的视图类型以及它们是否支持回收,Android将实际回收现有对象,以最大限度地减少初始化和内存管理的开销。

答案 2 :(得分:0)

我不确定Android如何在内部处理它。但是我见过的大多数程序通过加载20个左右的项目来处理这个问题,然后让最后一个项目说“加载下20个项目”。然后当您单击它时,它会加载接下来的20个项目。