Pamięć Androida

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 deweloperskie dotyczące zwalniania zasobów w cyklach życia komponentów, unikania wycieków i zarządzania pamięcią podczas przechodzenia między stanami procesów.
Informacje o pamięci Androida i rozwiązywanie problemów z nią związanych
Zawiera kompleksowe omówienie architektury pamięci Androida, narzędzi dostępnych do analizy oraz ćwiczeń praktycznych, które pomogą Ci zidentyfikować i rozwiązać problemy związane z pamięcią.

Optymalizacje dotyczące konkretnych obszarów

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 zmieniać rozmiar, dekodować i buforować zasoby bitmapowe w bibliotekach obrazów.
Zarządzanie pamięcią WebView i diagnozowanie problemów z nią związanych
Wyjaśnia model pamięci wieloprocesowej WebView, opisuje, jak prawidłowo zarządzać jej cyklem życia, aby zapobiegać wyciekom, oraz przedstawia praktyczne procesy diagnozowania problemów z pamięcią.
Optymalizacja kodu R8
Wyjaśnia, jak używać R8 do zmniejszania rozmiaru APK, zmniejszania obciążenia metadanych i zmniejszania 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/Kotlin w celu wyizolowania drzew obiektów zachowanych i anonimowych alokacji 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 (anonimowe RSS + swap)
Android Vitals udostępnia informacje o wykorzystaniu pamięci produkcyjnej przez aplikację, podzielone według stanów procesu: pierwszy plan, usługa na pierwszym planie i usługa w tle.
Android Vitals: wykorzystanie pamięci przez bitmapę
Android Vitals udostępnia statystyki dotyczące wykorzystania pamięci bitmapy przez aplikację, 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 aplikacji jest niski. Dotyczy to zaciemniania, zmniejszania i optymalizacji aplikacji i gier, które używają R8.
Crashlytics
Wyświetla wyjątki Out-Of-Memory (OOM) i błędy spowodowane przekroczeniem limitu pamięci w środowisku produkcyjnym wraz z kontekstem diagnostycznym, aby umożliwić ustalenie priorytetów i naprawienie błędów w środowisku produkcyjnym.
ProfilingManager
Zaawansowany interfejs API, który umożliwia aplikacjom programowe zbieranie i przesyłanie zrzutów sterty i profili sterty z sesji użytkowników w środowisku produkcyjnym.

Dodatkowe materiały

Posty na blogu

Filmy

Tworzenie aplikacji na Androida, które efektywnie wykorzystują pamięć