【问题标题】:Is there a performence difference between creating a button programmatically or creating it in xml?以编程方式创建按钮或在 xml 中创建按钮之间是否存在性能差异?
【发布时间】:2015-10-27 11:27:46
【问题描述】:

我想创建 16 个按钮,每个按钮上都有不同的文本。这些文本将根据另一个随机值从数组中随机选取。比方说,

我有 3 个单词(苹果、香蕉、西瓜),创建活动时它会选择其中一个单词。比如说苹果。在这个活动的屏幕上将有 16 个按钮。这些按钮必须包含以下字母apple 由 "a","p","p","l","e" 组成,其余的按钮将被其他剩余的字母填充。

所以在我的情况下,我想知道的是我应该通过获取一个值并在创建时一个一个地分配这个值来以编程方式创建按钮,还是在 xml 中执行它并保留它们的文本部分并以编程方式填充。

这两个选项的详细说明:

首先:我将创建一个函数,该函数将字符串值作为参数,并使用setText(); 返回一个带有此文本设置的按钮,然后在布局中找到它。

第二:我用这些按钮创建布局并将它们的文本部分留空,在活动中我只分配它们的字母值。

我投票支持第二个选项,但我想知道您的看法,在性能或内存方面会有什么不同吗?

【问题讨论】:

    标签: android xml performance button


    【解决方案1】:

    声明式方法的缺点是你只能这样 与 XML 相去甚远。

    XML 非常适合用户界面的外观和感觉,但它没有提供处理用户输入的好方法。这就是程序化方法的由来。

    您可以以声明方式以及以编程方式执行的所有操作。 但 java 还允许您指定实际单击按钮时发生的情况。

    这是用户界面编程方法的主要优势。

    那么什么是最好的?

    就是这样,两者各有千秋。

    1) 使用 XML,当你的用户界面的一切都是静态的,比如屏幕布局,所有小部件等。

    2) 当用户与用户界面中的各种小部件交互时,切换到程序化方式。

    换句话说,您可以将 XML 用于按钮的外观和 Java 来指定它的作用。

    【讨论】:

    • 感谢您的回复!所以你的建议是按钮上的文本将以编程方式完成,而无文本按钮的创建将在 xml 中,对吧?
    • @Recomer:绝对是。对于外观和感觉在 XML 中声明它并执行操作,您应该以编程方式使用它
    • @Recomer : 很高兴帮助你:-)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-10-16
    • 2023-03-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多