0

我是一名 Android 新手,我想知道如何处理我想要显示的大桌子。

目前我正在测试一个带有100 个 TableRows的TableLayout。最终表将有更多行,大约为数千行。 由于 TableLayout 是一个View,我想知道在这种情况下什么是正确的或推荐的方法。要使用包含我拥有的所有数据的视图(TableLayout),或者在用户上下滚动时在可视窗口中动态添加/删除行。

不同方法的优缺点是什么?例子?

4

1 回答 1

1

将它们全部同时显示在屏幕上的最明显的缺点是操作系统本质上必须同时将所有数千个 View 对象放在内存中 -非常昂贵,内存方面。

另一方面,在滚动时创建和销毁视图是处理器密集型的,并且会大大降低 UI 的速度。

主要替代方法(以及 android 在其ListView控制中使用的替代方法(顺便说一下,这可能是您应该使用的替代方法)是只创建足够的视图来填充屏幕(在两侧加上一点填充),并且作为一个离开顶部,在底部重新使用它,改变它的属性而不是创建一个全新的视图。

不过,上面的逻辑很复杂,为什么要重新发明轮子呢?带有自定义适配器列表视图控件应该能够像您尝试做的那样呈现数据,并且已经完成了艰苦的工作。

于 2012-04-24T17:35:56.397 回答