¿La duración especificada en una animación definida por XML es realmente en milisegundos?

Estoy utilizando la última versión de la biblioteca de soporte para permitir el uso de Fragmentos en dispositivos que ejecutan versiones de Android <3.0. Cada vez que quiero cambiar el fragmento actual lo hago usando este código:

public void displayFragmentInMainView(Fragment f) { FragmentTransaction transaction = getSupportFragmentManager().beginTransaction(); transaction.setCustomAnimations(R.anim.slide_in_right, R.anim.slide_out_left, android.R.anim.slide_in_left, android.R.anim.slide_out_right); transaction.replace(R.id.fragment_holder, f); transaction.commit(); } 

Aquí está el XML que define una de las animaciones de transición:

 <set xmlns:android="http://schemas.android.com/apk/res/android"> <translate android:fromXDelta="-50%p" android:toXDelta="0" android:duration="500"/> <alpha android:fromAlpha="0.0" android:toAlpha="1.0" android:duration="500" /> </set> 

Como se puede ver en el XML anterior, la duración de la animación se establece en 500. De acuerdo con los documentos del desarrollador, las unidades especificadas aquí son en ms (una medida de tiempo).

He notado a través de pruebas que la duración de la animación es diferente entre los dispositivos. ¿Por qué es este el caso, si estoy especificando un valor ms para la duración?

Estos son los dispositivos en los que he probado y los resultados (subjetivos):

HTC Legend : (teléfono de gama baja con una CPU lenta, Android 2.3.3) la animación es suave y dura exactamente el tiempo que me gustaría.

Samsung Galaxy S : (CPU de gama media, Android 2.1) la animación es un poco agitada y va más rápido que en la Leyenda

Emulador : (ejecutándose en un quad-core iMac, Android 4.0) la animación es muy rápido, a veces tan rápido que ni siquiera lo ves

Basado en esto, parece que la duración no se mide realmente en términos de ms sino que depende de la velocidad de la CPU. ¿Alguien más ha notado resultados similares? ¿Hay una manera de configurarlo de modo que la velocidad de la animación será uniforme a través de dispositivos como se esperaría después de leer los documentos?

One Solution collect form web for “¿La duración especificada en una animación definida por XML es realmente en milisegundos?”

Android define 3 recursos enteros

 android.R.integer.config_shortAnimTime android.R.integer.config_mediumAnimTime android.R.integer.config_longAnimTime 

que puede utilizar en código XML o Java.

  • Android - support libraries 23.2.0 hacer que la aplicación se bloquee
  • Aplicación Proguard android que utiliza soporte lib
  • Problema con windowTranslucentNavigation
  • Biblioteca de soporte de Android v4: 22 + crashing pre Lollipop en attr / in drawables
  • Las versiones resueltas para la aplicación (22.0.0) y la aplicación de prueba (21.0.3) difieren
  • Barra de herramientas Navegación Icono de Hamburger ausente
  • "La actividad ha sido destruida" a veces cuando se puebla viewpager con fragmentos
  • Práctica recomendada para guardar Fragmentos para su posterior visualización
  • No se puede encontrar android.support.design.widget.Snackbar en la biblioteca de diseño de asistencia
  • Incluyendo list_content en el diseño de lista para conservar la funcionalidad ListFragment
  • Android Studio build error - Múltiples archivos dex define Landroid / support / v4 /
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.