谁为Android提供最佳性能:XML或Java?
例如动画。我可以使用两种不同的方式使用Java和XML获得相同的结果:
•Java
private Animation outToRightAnimation() {
Animation outToRight = new TranslateAnimation(
Animation.RELATIVE_TO_PARENT, 0.0f,
Animation.RELATIVE_TO_PARENT, +1.0f,
Animation.RELATIVE_TO_PARENT, 0.0f,
Animation.RELATIVE_TO_PARENT, 0.0f);
outToRight.setDuration(500);
outToRight.setInterpolator(new DecelerateInterpolator());
return outToRight;
}
•XML
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android"
android:fillAfter="true"
android:interpolator="@android:anim/decelerate_interpolator" >
<translate
android:duration="500"
android:fillAfter="true"
android:fromXDelta="0%p"
android:toXDelta="100%p" />
</set>
哪一个应该更快?我应该使用哪一个?
答案 0 :(得分:4)
哪一个应该更快?
它们应该接近完全相同。 Everything 通过Java运行。 XML只是一种配置动画的方式 - XML在运行时被解析并转换为等效的Java对象。
答案 1 :(得分:1)
XML解析的时间可能只有在它发生很多次时才有意义(比如在一个超过10万个文档的循环中),或者XML文档很长(例如,兆字节)。我的案例XML文档很小,只解析了一次,所以由你决定使用哪种方法。解析文档后,它对进一步的性能没有影响。
它可能是其他标准,例如如何更容易编写和维护,但性能可能不是问题。