最佳表现:XML还是Java?

时间:2014-08-30 15:50:45

标签: android performance

谁为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>

哪一个应该更快?我应该使用哪一个?

2 个答案:

答案 0 :(得分:4)

  

哪一个应该更快?

它们应该接近完全相同。 Everything 通过Java运行。 XML只是一种配置动画的方式 - XML在运行时被解析并转换为等效的Java对象。

答案 1 :(得分:1)

XML解析的时间可能只有在它发生很多次时才有意义(比如在一个超过10万个文档的循环中),或者XML文档很长(例如,兆字节)。我的案例XML文档很小,只解析了一次,所以由你决定使用哪种方法。解析文档后,它对进一步的性能没有影响。

它可能是其他标准,例如如何更容易编写和维护,但性能可能不是问题。