Wie funktionieren die Android-Animationen unter der Motorhaube?

In den vergangenen Monaten habe ich eine Open-Source-Tweening-Engine in Java ( Universal Tween Engine ) gebaut, um problemlos glatte Animationen und Übergänge zu meinen Android-Spielen hinzufügen zu können. Es funktioniert wie eine Brise für Spiele und wird erfolgreich von vielen Leuten benutzt (meistens in der LibGDX- Community). Die Bibliothek ist generisch und kann verwendet werden, um alles zu beleben (Swing UI Komponenten, Opengl Spiel Objekte, etc.). Nun möchte ich ein Addon für die lib für Android-UIs zu schaffen, da ich glaube, es kann erheblich erleichtern die Schaffung von sehr komplexen Animationen im Vergleich zu den integrierten Animation Framework.

Meine lib stellt eine .update(float deltaTime) Methode vor, die jedes Mal aufgerufen werden muss, wenn Sie alle laufenden Animationen aktualisieren möchten. Es war für Spiele zugeschnitten, da jedes Spiel eine Endlosschleife aussetzt, aber das ist bei UIs nicht der Fall.

Deshalb habe ich mich gefragt, wie das Animations-Framework der Android-API unter der Motorhaube arbeitet. Gibt es einen statischen Thread für Animationen, die kontinuierlich läuft und aktualisiert Animationen Frame-by-Frame und pausiert, bis es eine neue Animation läuft ?

Ich dachte an so etwas, aber ich bin nicht wirklich glücklich mit diesem Code, da es nicht die Geräte-Bildwiederholrate zum Beispiel nehmen.

  • Android: Tween Animation einer Bitmap
  • Android Tachometer (Nadelspitze)
  • One Solution collect form web for “Wie funktionieren die Android-Animationen unter der Motorhaube?”

    Ein guter Ort, um zu beginnen, ist, einen Blick darauf zu werfen, wie das Android-View-System es implementiert. Die Freude an der Open Source.

    Wenn du in einer Ansicht ankommst, bekommst du einen ViewPropertyAnimator zurück, der bei startAnimation () einen ValueAnimator startet.

    Der ValueAnimator hat einen Handler, der die Schleife antreibt.

    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

    Das Android ist ein Google Android Fan-Website, Alles ├╝ber Android Phones, Android Wear, Android Dev und Android Spiele Apps und so weiter.