Улучшение View.Animate () производительность на старых версиях AndroidAndroid

Форум для тех, кто программирует под Android
Ответить
Anonymous
 Улучшение View.Animate () производительность на старых версиях Android

Сообщение Anonymous »

Я разрабатываю игру Android, которая анимирует прямоугольные представления, перемещающиеся горизонтально по всему экрану, используя view.animate (). translationx (...) . Анимация-это просто простого прямоугольника, движущегося влево в течение нескольких секунд, но она постоянно отстает от старых устройств (Samsung S7 и Old Tablets) и даже немного на более новых в режиме энергосбережения (Samsung S22 Ultra). < /P>
Разбитая версия: < /p>
< /p>
Версия: < /p>
< /p>
< /p>
< /p>
< /p>

< /p>
< /p>
< /p>
.

Код: Выделить всё

View rectangle = ...; // A dynamically added View to a ConstraintLayout

rectangle.animate()
.setDuration(6000)
.translationX(-widthDisplay)
.setInterpolator(new LinearInterpolator())
.start();
< /code>
Я попробовал следующие оптимизации, но задержка сохраняется: < /p>

 Использование view.setlayertype (view.layer_type_hardware, null) < /code>. < /li>
 Сокращение количества одновременных анимационных представлений на только один. Другая тяжелая обработка в потоке пользовательского интерфейса. < /li>
 Вместо этого используя объект -анаматор. Даже анимирование одного прямоугольника вызывает задержку на старых или дроссельных устройствах. Удаление setAlpha () 
или аналогичные вызовы не помогают.
Есть ли узкое место для производительности с view.animate () (viewpropertyanimator) на старых или дроссельных устройствах Android? И если так, есть ли более эффективная альтернатива или обходной путь для гладких, длительных анимаций перевода?

Код: Выделить всё

for (int currentElement =0; currentElement 

Подробнее здесь: [url]https://stackoverflow.com/questions/79705866/improving-view-animate-performance-on-older-android-versions[/url]
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Android»