【问题标题】:Performance of XML file and LayoutInflater vs Creating view from codeXML 文件和 LayoutInflater 的性能与从代码创建视图
【发布时间】:2013-10-13 21:53:57
【问题描述】:

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

两者在速度和内存使用方面有区别吗?

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

【问题讨论】:

    标签: android performance view layout-inflater


    【解决方案1】:

    两者在速度和内存使用方面有区别吗?

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

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

    【讨论】:

      【解决方案2】:

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

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

      【讨论】:

        猜你喜欢
        • 2023-01-12
        • 1970-01-01
        • 1970-01-01
        • 2016-03-27
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多