Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/performance/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 最佳性能:XML还是Java?_Android_Performance - Fatal编程技术网

Android 最佳性能:XML还是Java?

Android 最佳性能:XML还是Java?,android,performance,Android,Performance,谁为Android提供了最好的性能:XML还是Java 例如动画。我可以通过两种不同的方式,使用Java和XML获得相同的结果: •爪哇 private Animation outToRightAnimation() { Animation outToRight = new TranslateAnimation( Animation.RELATIVE_TO_PARENT, 0.0f, Animation.RELATIVE_TO_PARENT

谁为Android提供了最好的性能:XML还是Java

例如动画。我可以通过两种不同的方式,使用Java和XML获得相同的结果:

•爪哇

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>

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

哪一个应该更快


它们应该接近相同。一切都通过Java运行。XML仅仅是一种配置动画的方式——在运行时解析XML并将其转换为等效的Java对象。

只有当XML解析发生了大量次(如循环超过100000个文档)或者XML文档非常长(例如兆字节)时,XML解析的时间才有意义。我认为我们的案例XML文档很小,只解析一次,所以使用哪种方法取决于您。解析文档后,它对进一步的性能没有影响


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

XML解析意味着它将比直接java慢,不是吗?我想XML解析的结果将比仅用纯java编写慢。XML在apk中编译;它没有xml解析那么慢。不要做微优化;这是在膨胀资源,而不是让你的R应用程序变慢的原因。