大量的TextView会影响性能吗?我应该使用ListView而不是ScrollView吗?

4
我有一个显示网格的屏幕(TableView,其中每个TableRow大多是TextView),就像一个记分卡,有8行和11列。
我想再添加大约10行,并将其保留在ScrollView中。但是我想知道是否应该将整个内容切换到ListView中。
假设我的一半网格是“屏幕外”,仅使用ScrollView会导致性能(渲染时间,内存使用)受到很大影响吗?或者我最好改用ListView?
基本上,我不想在第一次显示屏幕时(或滚动期间)出现滞后。
谢谢。

回答时请记住,我知道ListView的性能优势,但我真的想知道它是否会在我的情况下产生很大的差异。还要记住,我的网格中的行并不完全相同,因此可能需要权衡一下,我可能最终需要一些相当复杂的适配器类来管理列表中每一行的显示方式(如果是rowx,则执行此操作,如果是rowy,则执行此操作等等)。 - Fraggle
ListView方法的一个问题是,我现在有一个TableLayout和一堆TableRows。使用ListView很难轻松地实现相同的结果(单元格调整大小以使所有列完美对齐)。因此,考虑到我想要一些TableView功能,也许ListView并不是特别合适。 - Fraggle
2个回答

2

我会使用 ListView…它非常方便。

通过使用 ListView,您可以轻松管理所选行。 并且使用正确的适配器,您还可以编写非常高效的列表。

您可以在 Android API演示 中找到一些示例。


@kyp->没错,我以前用过ListViews,但实际上发现它们在某些情况下不够直观。例如,如果您想要与其他行略有不同的行,则必须在Adapter.getView方法中执行更复杂的逻辑等。 - Fraggle

2
使用ListView和ListAdapter,有很多在幕后完成的工作以确保其高效性,例如,在滚动时重复使用显示的列表项,而不是为每个项创建一个新的列表项。
因此,我建议使用ListView和ListAdapter。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接