В течение последних нескольких месяцев я построил движок twiving с открытым исходным кодом на Java (Universal Tween Engine), чтобы иметь возможность легко добавлять плавные анимации и переходы на мои Андроид игры. Он работает как бриз для игр и успешно используется многими людьми (в основном в сообществе LibGDX). Библиотека является общей и может использоваться для анимации всего (компоненты Swing UI, объекты игры opengl и т.д.). Теперь я хочу создать аддон в lib, посвященный пользовательским интерфейсам Android, поскольку я считаю, что он может значительно облегчить создание очень сложных анимаций по сравнению со встроенной средой анимации.
My lib предоставляет метод .update(float deltaTime)
, который нужно вызывать каждый раз, когда вы хотите обновить все запущенные анимации. Он был адаптирован для игр, поскольку каждая игра предоставляет бесконечный цикл, но это не относится к пользовательским интерфейсам.
Поэтому мне было интересно, как анимационная среда Android API работает под капотом. Есть ли статический поток, посвященный анимации, который работает непрерывно и обновляет анимацию по кадру и приостанавливается до тех пор, пока не будет запущена новая анимация?
Я думал о чем-то вроде который, но я не очень доволен этим кодом, так как он не учитывает частоту обновления устройства.