Инициализация просмотра и настройка фоновой настройки за пределами анимации
loop < /p>
< /li>
Использование view.setlayertyp /> Попробуйте объект -анаматор вместо ViewPropertyAnimator < /p>
< /li>
Сокращение количества анимированных представлений < /p>
< /li>
< /ul>
Несмотря на все это, и анимация значительно отстает от Devices (например, SAM. Мощное устройство (Samsung S22 Ultra). С другой стороны, игра работает плавно на современных устройствах в нормальных условиях. < /P>
Вот соответствующая часть кода анимации. < /P>
Код: Выделить всё
//Animate view element
if (currentTimeSlot == arrayList_GameEventRectangles.get(currentElement).getStartingTimeSlot()) {
arrayList_GameEventRectangles.get(currentElement).getBackground().setAlpha(255);
View rectangle = arrayList_GameEventRectangles.get(currentElement);
int rectangleWidth = rectangle.getWidth();
float distanceToCover_current = widthDisplay + rectangleWidth;
float distanceToCover_normalizedObject = widthDisplay + 20;
double ratioDistanceDifference = distanceToCover_current /distanceToCover_normalizedObject;
int numberOfMillisecondsUntilTheMiddleOfTheScreen_Level1 = 8000;
long durationForTheAnimation = (long)(numberOfMillisecondsUntilTheMiddleOfTheScreen_Level1 * speedMultiplicatorLevel [currentLevel - 1] * ratioDistanceDifference);
arrayList_GameEventRectangles.get(currentElement).animate().setDuration(durationForTheAnimation).translationX(widthDisplay*(-1)).setInterpolator(new LinearInterpolator()).start(); }
< /code>
На самом деле у меня есть много прямоугольника, которые анимируются, но даже сокращение их до 1 не решает проблему. So the core problem lies in the animation call arrayList_GameEventRectangles.get(currentElement).animate().setDuration(durationForTheAnimation).translationX(widthDisplay*(-1)).setInterpolator(new LinearInterpolator()).start();Существуют ли какие -либо проверенные подходы к улучшению гладкости такого представления анимаций на более старых устройствах? И есть ли у вас какие -либо другие идеи или лучшие практики для исполнительских анимаций в играх Android с несколькими движущимися представлениями? Даже при анимировании одного прямоугольника, перемещающегося справа налево через экран, анимация отстает на менее мощных устройствах. Вид прост - просто простой прямоугольник - поэтому это не должно быть вычислительно интенсивным. Есть ли способ оптимизировать или улучшить производительность этой основной анимации в Android?
Подробнее здесь: https://stackoverflow.com/questions/797 ... er-devices
Мобильная версия