В настоящее время я разрабатываю приложение для Android, используя phonegap. У меня есть холст html5, на котором я рисую и анимирую объекты. Он отлично работает на андроиде 2.3, но на андроиде 4+ он не перерисовывает холст. Я пробовал использовать для своих анимаций как kinetic.js, так и easyl.js/tween.js, и для обеих этих библиотек возникла проблема с невозможностью очистки холста. Мне удалось показать и скрыть div на холсте, но он не работает все время. Я могу только предположить, что это специфичная для Android 4+ ошибка или какая-то функция для повышения производительности холста html5.
Кто-нибудь знает, есть ли какой-то параметр, который я могу изменить, или метод, который я могу вызвать в Android 4 или javascript, который позволил бы мне принудительно перерисовать мой холст html5 во время анимации?
Следует также отметить, что анимации, кажется, работают с easyl.js/tween.js в эмуляторе Google API 4.1 (холст очищается и перерисовывается), но не на телефонах с 4.1.1.
Я провел дополнительное исследование того, что происходит. По сути, кажется, что фигура в самом начале анимации оставляет артефакт, который clearRect не очищает. У меня есть большой круг, который я сжимаю до маленького круга. Анимация все еще происходит, но на большой круг не влияет вызов clearRect на холсте.