Animationsleistung der Android -Ansicht auf ältere Geräte verzögertJava

Java-Forum
Anonymous
 Animationsleistung der Android -Ansicht auf ältere Geräte verzögert

Post by Anonymous »

Ich habe ein Android -Spiel, bei dem ich rechteckige Ansichten von rechts nach links über den Bildschirm bewegte. Die Animation erfolgt mit der nativen Android View.animate () -Methode mit TranslationX. Die Rechtecke werden dynamisch erstellt und einem Constraintlayout hinzugefügt. Ich habe bereits mehrere Optimierungen ausprobiert, darunter: < /p>

< /> < /> < /li>

Loop < /p>

< /P> < /p> < /lyttype_hardware, Null) < /p> < /p> < /p> < /> < /li>
< /> < /li>
< /pl. Objektanimator anstelle von ViewPropertyanimator < /p>
< /li>
Reduzierung der Anzahl der animierten Ansichten < /p>
< /li>
< /ul>
Trotz all dieser Animations -Lags -Sams (E.G. -Sams) die Animations -Lag -Aufträge (E.G. SAms) (E. G. sunung) und sogar auf ein starkes Gerät (E. G. sunung) (E.G. sunung) und sogar auf ein starkes Gerät (E. G. sunung) (E.G. sunung S7) und sogar ein starkes Gerät (E. G. sunung) (E.G. SAms) (E.G. sunung S7) und sogar ein starkes Gerät (E. G. s7) und sogar auf ein starkes Gerät (E. G. sunung) wurde wurden haben wir (E. G. sunung) können können müssenömer Leicht der Stromsparmodus ein wenig ein. Andererseits läuft das Spiel unter normalen Bedingungen reibungslos auf modernen Geräten. < /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>
Meine Fragen sind: < /p>
Gibt es nachgewiesene Ansätze zur Verbesserung der Glätte solcher Sichtanimationen auf älteren Geräten? Und haben Sie andere Ideen oder Best Practices für Performantenanimationen in Android -Spielen mit mehreren beweglichen Ansichten?

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post