2014-08-30 3 views
2

Кто обеспечивает лучшие результаты для Android: XML или Java?Лучшие выступления: 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> 

Какой предполагается быть быстрее? Какой из них я должен использовать?

ответ

4

Какой из них должен быть быстрее?

Они должны быть близки к идентичным. Все проходит через Java. XML - это просто способ настройки анимации - XML ​​анализируется и превращается в эквивалентные объекты Java во время выполнения.

+0

Анализ XML подразумевает, что он будет медленнее, чем прямая java, не так ли? – FR073N

+0

Я предполагаю, что синтаксический анализ XML будет медленнее, чем просто писать его на простом Java – eldjon

+2

XML компилируется в apk; это не так медленно, как синтаксический анализ xml. Не делайте микрооптимизацию; это раздувание ресурсов, когда-то это не то, что сделает ваше приложение медленным. – rds

1

Время разбора XML может иметь значение только в том случае, если это происходит огромное количество раз (например, в цикле более 100 000 документов), или XML-документ очень длинный (например, мегабайт). В нашем случае XML-документ крошечный, он анализируется только один раз, поэтому зависит от вас, какой подход использовать. После анализа документа он не влияет на дальнейшую производительность.

Это могут быть другие критерии, например, как их легче писать и поддерживать, но производительность, вероятно, не является проблемой.

Смежные вопросы