Statistiken zu Spielen mit wenig Arbeitsspeicher

Android bricht Top-Spiele manchmal ab (oder beendet) High-Fidelity-Spiele, wenn auf dem Gerät nicht genügend Arbeitsspeicher vorhanden ist. Android versucht, den gesamten verfügbaren Arbeitsspeicher für den Cache von Apps und Spielen zu verwenden, damit sie schnell geladen werden und die Nutzerfreundlichkeit verbessert wird. Wenn der Arbeitsspeicher jedoch knapp wird, beendet das System die speicherintensivsten Apps und Spiele, um Speicherplatz für den normalen Gerätebetrieb freizugeben.

Informationen, Statistiken und Best Practices für eine bessere Nutzung des Arbeitsspeichers in Spielen umfassen Folgendes:

  • ApplicationExitInfo verwenden: Diese Java-/Kotlin-API gibt den Grund zurück, warum die vorherige Spielausführung vom Android-System beendet wurde. Verwenden Sie ApplicationExitInfo, um zu prüfen, ob ein geringer Arbeitsspeicher der Grund für den Abbruch eines vorherigen Prozesses war. Prüfen Sie, ob das Spiel aufgrund von wenig Arbeitsspeicher beendet wurde, damit es so optimiert werden kann, dass es auf diesem Gerät weniger Arbeitsspeicher benötigt.
  • Gesamten physischen RAM prüfen: Um zu verhindern, dass Spiele im Vordergrund beendet werden, und die Fähigkeiten des Geräts zu nutzen, prüfen Sie den gesamten physischen RAM und passen Sie die Speichernutzung für Spiele entsprechend an. Wenn du verhindern möchtest, dass Apps kurz nach dem Verschieben in den Hintergrund beendet werden, damit der Spieler Multitasking betreiben kann, verwende die trim-Callbacks (insbesondere TRIM_MEMORY_UI_HIDDEN), um die Arbeitsspeichernutzung deines Spiels zu reduzieren.
  • Registrieren Sie sich nicht für die eingestellten trim-Callbacks. Android bietet keine APIs zum Erkennen von Ereignissen mit nativem Arbeitsspeichermangel, wenn die Arbeitsspeicherlimits erreicht werden (siehe Low Memory Killer Daemon). Trim-Callbacks haben nicht dazu beigetragen, das Beenden von Prozessen bei wenig Arbeitsspeicher zu verhindern. Daher wurden alle außer TRIM_MEMORY_UI_HIDDEN und TRIM_MEMORY_BACKGROUND in Android eingestellt.

Low Memory Killer Daemon

Der Android Low Memory Killer Daemon (lmkd) ist ein Prozess, der den Arbeitsspeicherstatus eines laufenden Android-Systems überwacht und bei hoher Arbeitsspeicherauslastung die am wenigsten wichtigen Prozesse beendet, um die Systemleistung auf einem akzeptablen Niveau zu halten.

Der Daemon kann Prozesse auswählen, die beendet werden sollen, ohne darauf zu warten, dass der Prozess eine Art von Rückruf bestätigt. Daher erhalten Apps und Spiele keine Benachrichtigung als letzte Möglichkeit, Erinnerung freizugeben, bevor sie gelöscht werden.

Weitere Informationen zum Low Memory Killer-Daemon