Na tych stronach znajdziesz informacje o tym, jak poprawić wykorzystanie pamięci przez aplikację.
Ogólne wskazówki dotyczące pamięci
- Omówienie pamięci
- Wyjaśnia podstawową architekturę pamięci Androida, ograniczenia pamięci RAM oraz sposób, w jaki system operacyjny równoważy procesy za pomocą narzędzia Low Memory Killer (LMK).
- Zarządzanie pamięcią
- Przedstawia sprawdzone metody dla deweloperów dotyczące zwalniania zasobów w cyklach życia komponentów, unikania wycieków i zarządzania pamięcią podczas przechodzenia między stanami procesu.
- Zrozumienie i rozwiązywanie problemów z pamięcią w Androidzie
- Zawiera kompleksowe omówienie architektury pamięci Androida, narzędzi dostępnych do analizy oraz ćwiczeń praktycznych, które pomogą Ci identyfikować i rozwiązywać problemy związane z pamięcią.
Optymalizacje w określonych obszarach
- Omówienie pamięci w grach
- Zawiera szczegółowe informacje o budżetowaniu pamięci, obsłudze alokacji natywnych i zarządzaniu zasobami graficznymi, które są dostosowane do aplikacji korzystających z silników gier.
- Optymalizowanie obrazów bitmapowych
- Pokazuje, jak efektywnie określać rozmiar, dekodować i buforować zasoby bitmapowe w bibliotekach obrazów.
- Zarządzanie pamięcią WebView i jej diagnozowanie
- Wyjaśnia model pamięci wieloprocesowej WebView, opisuje, jak prawidłowo zarządzać jej cyklem życia, aby zapobiegać wyciekom, oraz przedstawia praktyczne sposoby diagnozowania problemów z pamięcią.
- Optymalizacja kodu R8
- Wyjaśnia, jak używać R8 do zmniejszania rozmiaru APK, narzutu metadanych i zużycia pamięci w czasie działania.
Narzędzia do debugowania pamięci lokalnej
- Narzędzia Android Studio
- Umożliwiają sprawdzanie sterty w czasie rzeczywistym, śledzenie alokacji pamięci i wykrywanie wycieków bezpośrednio w IDE.
- Eksplorator zrzutów sterty Perfetto
- Umożliwia szczegółową analizę wizualną zrzutów sterty natywnej i Java lub Kotlin, aby izolować drzewa zachowanych obiektów i anonimowe alokacje pamięci.
- Rejestrowanie śladu systemu na urządzeniu
- Pokazuje, jak rejestrować ślady na poziomie systemu na urządzeniu, aby rozwiązywać błędy związane z wydajnością w aplikacji.
- Debugowanie wykorzystania pamięci w Androidzie
- Uczy, jak zrozumieć zarządzanie pamięcią w systemie Linux i używać narzędzi takich jak dumpsys meminfo, Perfetto, natywne profile sterty i zrzuty sterty do śledzenia wykorzystania pamięci i identyfikowania wycieków.
Narzędzia do zarządzania pamięcią na poziomie produkcyjnym
- Android Vitals: wykorzystanie pamięci (anonimowa pamięć RSS i przestrzeń wymiany)
- Android Vitals udostępnia informacje o wykorzystaniu pamięci przez aplikację w środowisku produkcyjnym, podzielone według stanów procesu: na pierwszym planie, usługa na pierwszym planie i usługa w tle.
- Android Vitals: wykorzystanie pamięci przez bitmapy
- Android Vitals udostępnia dane o wykorzystaniu pamięci przez bitmapy w aplikacji, agregując dane z urządzeń z Androidem.
- Android Vitals: optymalizacja kodu DEX
- Android Vitals może wysyłać alerty, gdy poziom optymalizacji kodu DEX w aplikacji jest niski. Obejmuje to zaciemnianie, zmniejszanie i optymalizację aplikacji i gier, które używają R8.
- Crashlytics 20.1.0
- Wyświetla wyjątki Out-Of-Memory (OOM) i błędy spowodowane przez ograniczenie pamięci w środowisku produkcyjnym z kontekstem diagnostycznym, aby umożliwić ustalenie priorytetów i naprawienie awarii w terenie.
- ProfilingManager
- Zaawansowany interfejs API, który umożliwia aplikacjom programowe zbieranie i przesyłanie zrzutów sterty i profili sterty z aktywnych sesji użytkowników w środowisku produkcyjnym.
Dodatkowe materiały
Więcej informacji o pamięci znajdziesz w tych dodatkowych materiałach:
Posty na blogu
- Przygotowywanie aplikacji na szersze limity pamięci
- Priorytetowe traktowanie wydajności pamięci: najważniejsze kroki w Androidzie 17