【问题标题】:Performance diff between two view adding approach两种视图添加方法之间的性能差异
【发布时间】:2016-06-15 13:29:30
【问题描述】:

动态添加视图(使用 ViewGroup 的添加/删除视图方法)或将它们放入静态布局 xml 文件并让它编译成二进制形式并在运行时膨胀(常规方式)?

我知道 ViewStub 是一个选项,但我想知道根本不膨胀是否有区别。

谢谢

【问题讨论】:

    标签: android view android-inflate android-viewgroup viewstub


    【解决方案1】:

    以编程方式添加视图更快。从布局 XML 添加视图时,它以相同的方式添加它们,但此外,它需要遍历该 XML 并使用大量反射。

    但这需要更多的开发者负担:)

    【讨论】:

    • 抱歉回复晚了。我也是这么想的,但我只怀疑从已编译的二进制形式的布局添加和转换视图是否可以补偿视图树行走。通过以编程方式添加,您还需要创建视图(分配等)和额外的函数调用以正确地将它们添加到布局中。总而言之,我相信差异是如此微不足道,以至于我们可能会忽略它?
    • 是的,你是对的,性能变化非常小。由于动态视图创建占用的空间更少,我仍然建议使用 xml。因为代码结构也是编程中非常关键的部分。 xmls 是 Android 的美,它将视图(不需要逻辑)与逻辑部分分开。使用 xml 创建布局时,您无需担心多个屏幕。而且在屏幕上进行更改也需要更少的费用。所以最好使用 xml 布局,并尝试在 java 中创建最小视图。希望您满意,如果您有任何疑问,请告诉我:)
    猜你喜欢
    • 2020-09-15
    • 1970-01-01
    • 2011-05-16
    • 2011-09-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-04-22
    相关资源
    最近更新 更多