自关闭标签和空的非关闭标签在XML / Android中是否可以互换?

时间:2018-07-23 09:26:55

标签: android xml

看一个示例android xml文件,我看到三个节点,其中两个是自动关闭的,一个不是(但没有子节点)。这对编译器或进一步的决定有什么重要意义吗?

<set
    xmlns:android=”http://schemas.android.com/apk/res/android”
    android:shareInterpolator=”false”>
  <rotate
      android:fromDegrees=”0”
      android:toDegrees=”360”
      android:pivotX=”50%”
      android:pivotY=”50%”
      android:duration=”2000” />
  <alpha
      android:fromAlpha=”0.0”
      android:toAlpha=”1.0”
      android:duration=”2000”>
  </alpha>
  <scale
      android:pivotX=”50%”
      android:pivotY=”50%”
      android:fromXScale=”.1”
      android:fromYScale=”.1”
      android:toXScale=”1.0”
      android:toYScale=”1.0”
      android:duration=”2000” />
</set>

2 个答案:

答案 0 :(得分:2)

通过声明一个非自闭标签,您只是告诉编译器寻找该标签的主体(或您语言中的子节点)。如果主体为空,它将从该标签中出来,然后继续进行。自闭标签表示该标签的主体为零(或没有子节点),并且编译器将不查找任何内容,而仅继续处理下一个标签(为任何)。
在性能方面,我认为两者之间没有显着差异。但是,为了提高代码的简洁性,您应该使用自闭标签。

答案 1 :(得分:1)

  

这对编译器或进一步的决定有什么重要意义吗?

不。实际上,Android Studio在许多情况下会建议您“折叠空标记”,以将空的XML元素转换为自闭变量。