Optymalizacja gier na Androida

Narzędzia i interfejsy API do optymalizacji Androida zostały zaprojektowane tak, aby wykrywać wąskie gardła wydajności i określać ograniczenia urządzenia, a jednocześnie maksymalizować wydajność na trwałych poziomach w przypadku gier i aplikacji wymagających dużej mocy obliczeniowej.

  • Android GPU Inspector (AGI): narzędzie do profilowania systemu Android, które zapewnia zaawansowane śledzenie i analizę GPU w przypadku gier i aplikacji wymagających dużej ilości zasobów graficznych.

  • Android Performance Tuner (APT): wykrywaj w grze problemy z wydajnością związane z ustawieniami jakości, scenami, czasem wczytywania i modelami urządzeń.

  • Android Dynamic Performance Framework (ADPF): optymalizuj gry na podstawie dynamicznych funkcji zarządzania temperaturą, procesorem i GPU na poszczególnych urządzeniach.

  • Memory Advice API: podaje szacunkowe dane dotyczące wykorzystania pamięci i powiadomienia o przekroczeniu progu, dzięki czemu gra może utrzymywać optymalny poziom, który pozwala uniknąć zamykania aplikacji z braku pamięci.

  • Interfejs Game Mode API: optymalizuj rozgrywkę, nadając priorytet określonym cechom, takim jak wydajność lub czas pracy na baterii, na podstawie ustawień użytkownika lub konfiguracji specyficznych dla danej gry.

  • Perfetto: zbiera informacje o wydajności całego systemu i wyświetla je w interfejsie internetowym.

  • Systrace: rejestruje aktywność systemu i generuje raporty, które pomagają identyfikować problemy z wydajnością.

  • CPU Profiler: sprawdzaj wykorzystanie procesora i aktywność wątków w aplikacji w czasie rzeczywistym lub na podstawie zarejestrowanych śladów.

  • Meminfo class: rejestruje migawkę alokacji pamięci aplikacji. Możesz też użyć tej funkcji za pomocą polecenia meminfo dumpsys.

  • Raport o błędzie: wyświetlaj logi urządzenia, zrzuty stosu i inne informacje diagnostyczne, które pomogą Ci znaleźć i naprawić błędy w aplikacji.

  • R8: zmniejsza, optymalizuje i zaciemnia kod oraz zasoby aplikacji oparte na Javie i Kotlinie, aby zmniejszyć rozmiar DEX, poprawić wydajność uruchamiania i zminimalizować obciążenie pamięci w czasie działania.

  • Analizator konfiguracji R8: sprawdzaj i optymalizuj reguły zachowywania R8, aby identyfikować zbyt ogólne konfiguracje w aplikacji lub bibliotekach zewnętrznych, co pozwoli Ci ulepszyć zmniejszanie kodu, zaciemnianie i rozmiar DEX w przypadku zależności gry opartych na Javie i Kotlinie.

  • Profile bazowe: skróć czas uruchamiania i zmniejsz zacinanie się w fazie uruchamiania, udostępniając ART specyfikacje kompilacji AOT (ahead-of-time) dla ścieżek kodu w językach Java i Kotlin w Twojej grze, takich jak aktywności programu uruchamiającego i inicjowanie pakietu SDK.

  • Makrobenchmark: mierz i testuj wydajność aplikacji na wysokim poziomie, np. czas uruchomienia „na zimno” i operacje po uruchomieniu, w zautomatyzowanych środowiskach testowych lub CI, a także generuj profile bazowe dla swojej gry.