【问题标题】:Which One Is Better Performance Wise: setOnClickListener VS android:onclick="onClick"哪个性能更好: setOnClickListener VS android:onclick="onClick"
【发布时间】:2012-09-26 11:10:49
【问题描述】:

在 Android 中,我们有两种方法可以为按钮(或我认为的任何其他视图)设置 onClick 事件:

场景一(以编程方式):

Button b = (Button) findViewById(R.id.mybutton);
b.setOnClickListener(this);

场景二(在 XML 文件中):

<Button android:onClick="handler" />

在 XML 中或以编程方式执行此操作是否有任何性能损失,或者是否相同?

【问题讨论】:

  • 我不是任何方面的专家,但我会说编程方式在性能上更好......基本上是一样的,但在 XML 方式中,你添加了一个步骤,我认为,解析XML的一种。但我可能错了,我只是推测。
  • 我不认为它有显着差异。如果您遇到性能问题,这不是解决问题的方法。我想如果你使用那么多按钮来产生影响,那么真正的问题是你的布局。

标签: android performance onclicklistener


【解决方案1】:

两者的性能相同。 Xml 在编译时被预先解析为二进制代码。所以在 Xml 中没有开销。

【讨论】:

    【解决方案2】:

    知道的唯一方法是通过单元测试。这完全取决于它在下面的处理方式...如果我没猜对,在 xml 中声明它可能会慢一些,因为需要解析 xml 和then 方法应该被调用.. 仍然不能确定,它是一个纯粹的 android OS 设计者的选择

    【讨论】:

    • 您可能是正确的,但准备工作只在完成时间完成一次。当应用作为 APK 发布时,它已经是二进制代码。
    猜你喜欢
    • 2011-10-06
    • 2011-06-12
    • 2016-10-08
    • 1970-01-01
    • 1970-01-01
    • 2022-01-23
    • 1970-01-01
    • 2012-06-27
    • 2017-08-09
    相关资源
    最近更新 更多