Join FlipAndroid.COM Telegram Group: https://t.me/joinchat/F_aqThGkhwcLzmI49vKAiw


¿Cómo funcionan las animaciones de Android bajo el capó?

Durante los últimos meses, construí un motor de interpolación de código abierto en Java ( Universal Tween Engine ) para poder agregar fácilmente animaciones suaves y transiciones a mis juegos Android. Funciona como una brisa para los juegos y es utilizado con éxito por mucha gente (sobre todo en la comunidad de LibGDX ). La biblioteca es genérica y se puede utilizar para animar cualquier cosa (Swing UI componentes, opengl objetos de juego, etc). Ahora, quiero crear un complemento a la biblioteca dedicada a las interfaces de usuario de Android, ya que creo que puede facilitar enormemente la creación de animaciones muy complejas en comparación con el marco de animación integrado.

Mi lib expone un .update(float deltaTime) que tiene que ser llamado cada vez que desee actualizar todas las animaciones en ejecución. Se adaptó a los juegos ya que cada juego expone un bucle infinito, pero no es el caso para las interfaces de usuario.

Por lo tanto, me preguntaba cómo funciona el marco de animación de la API de Android bajo el capó. ¿Hay un hilo estático dedicado a animaciones que se ejecuta de forma continua y actualiza las animaciones marco por cuadro y se detiene hasta que se ejecuta una nueva animación ?

Estaba pensando en algo como eso , pero no estoy muy contento con este código, ya que no tiene la tasa de actualización del dispositivo en cuenta, por ejemplo.

One Solution collect form web for “¿Cómo funcionan las animaciones de Android bajo el capó?”

Un buen punto de partida es echar un vistazo a cómo el sistema de vista de Android lo implementa. La alegría del código abierto.

Cuando llama a .animate () en una vista, obtiene un ViewPropertyAnimator que, después de startAnimation () inicia un ValueAnimator.

El ValueAnimator tiene un Handler que controla el bucle.

https://github.com/CyanogenMod/android_frameworks_base/blob/ics/core/java/android/view/ViewPropertyAnimator.java

https://github.com/CyanogenMod/android_frameworks_base/blob/ics/core/java/android/animation/ValueAnimator.java

FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.