Statystyki dotyczące gier o małej ilości pamięci

Czasami Android zabija (lub kończy) najlepsze gry o wysokiej jakości, gdy urządzenie ma mało pamięci. Android stara się wykorzystać całą dostępną pamięć do buforowania aplikacji i gier, aby zapewnić ich szybkie wczytywanie (co poprawia komfort użytkowania), ale gdy pamięć staje się ograniczona, system zabija aplikacje i gry, które najbardziej ją obciążają, aby zwolnić pamięć na potrzeby normalnego działania urządzenia.

Informacje, statystyki i sprawdzone metody, które pomogą Ci lepiej wykorzystać pamięć w grze:

  • Użyj interfejsu ApplicationExitInfo – ten interfejs API Java/Kotlin zwraca powód, dla którego system Android zakończył działanie poprzedniej gry. Użyj polecenia ApplicationExitInfo, aby sprawdzić, czy niski poziom pamięci był przyczyną zakończenia poprzedniego procesu. Sprawdź, czy gra nie została zatrzymana z powodu zbyt małej ilości pamięci, aby można ją było zoptymalizować tak, aby wykorzystywała mniej pamięci na danym urządzeniu.
  • Sprawdź łączną pamięć fizyczną RAM – aby zapobiec zamykaniu gier, gdy są one na pierwszym planie, oraz dopasować je do możliwości urządzenia, sprawdź łączną pamięć fizyczną RAM i na tej podstawie dostosuj wykorzystanie pamięci przez gry. Jeśli chcesz, aby aplikacje nie były zabijane w krótkim czasie po przejściu do tła (aby umożliwić graczowi wielozadaniowość), użyj wywołań zwrotnych trim (szczególnie TRIM_MEMORY_UI_HIDDEN), aby zmniejszyć zużycie pamięci przez grę.
  • Nie rejestruj wywołań trim, które zostały wycofane – Android nie ma interfejsów API do wykrywania natywnych zdarzeń związanego z niedostatkiem pamięci, gdy przekroczone są limity pamięci (patrz objaśnienie Low memory killer daemon). W Androidzie nie zaleca się korzystania z funkcji Trim callbacks, ponieważ nie pomagają one w zapobieganiu zabijaniu procesów z powodu braku pamięci. Dlatego Android wycofał wszystkie te funkcje, z wyjątkiem funkcji TRIM_MEMORY_UI_HIDDENTRIM_MEMORY_BACKGROUND.

Demon zarządzający małą ilością pamięci

Demon lmkd to proces, który monitoruje stan pamięci w urządzeniu z Androidem i reaguje na wysokie obciążenie pamięci, zamykając procesy o najmniejszym znaczeniu, aby zachować akceptowalny poziom wydajności systemu.

Demon może wybrać procesy do zabicia bez oczekiwania na potwierdzenie przez proces jakiegokolwiek wywołania zwrotnego. W związku z tym aplikacje i gry nie otrzymają powiadomienia, które stanowiłoby dla nich ostatnią szansę na zwolnienie pamięci przed zamknięciem.

Dowiedz się więcej o demonie low memory killer.