看一个示例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>
答案 0 :(得分:2)
通过声明一个非自闭标签,您只是告诉编译器寻找该标签的主体(或您语言中的子节点)。如果主体为空,它将从该标签中出来,然后继续进行。自闭标签表示该标签的主体为零(或没有子节点),并且编译器将不查找任何内容,而仅继续处理下一个标签(为任何)。
在性能方面,我认为两者之间没有显着差异。但是,为了提高代码的简洁性,您应该使用自闭标签。
答案 1 :(得分:1)
这对编译器或进一步的决定有什么重要意义吗?
不。实际上,Android Studio在许多情况下会建议您“折叠空标记”,以将空的XML元素转换为自闭变量。