0

我需要在我的应用程序的 LinearLayout 中动态更改子视图(删除它们然后添加不同的视图)。
我可以通过代码创建所有视图,也可以使用 LayoutInflater,然后设置我需要更改的字段。

两者之间的速度和RAM使用率有区别吗?

我添加的任何布局都最多有 10 个视图,通常少于 5 个。而且我不关心编码的复杂性,只关心性能。

4

2 回答 2

1

两者之间的速度和RAM使用率有区别吗?

不显着。在微基准级别上,膨胀布局肯定比手动操作要慢。但是,您并没有尝试每秒执行数百次(我希望如此),因此速度差异可以忽略不计。

当然,更快的方法是不要“删除它们然后添加不同的”,而是改变已经创建的小部件的可见性。

于 2013-10-13T22:05:44.500 回答
0

我不明白为什么在一种情况下按代码添加视图在性能上不会更好。你实现了数组适配器真正做的事情。

也就是说,一开始只创建两个或三个视图。仅可见视图。然后,开始移动它们并更改信息。显示在“滚动”上。否则适配器会更好,因为它不会一次为所有项目创建所有图形。

于 2013-10-13T22:04:18.037 回答