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 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 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, dostosowane specjalnie 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 diagnostyki problemów z pamięcią.
Optymalizacja kodu R8
Wyjaśnia, jak wykorzystać R8 do zmniejszenia 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żliwia inspekcję 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 oraz sterty Java lub Kotlin, aby wyodrębnić 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 (anonimowy RSS + swap)
Android Vitals udostępnia informacje o wykorzystaniu pamięci produkcyjnej przez aplikację, 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 bitmapę
Android Vitals udostępnia statystyki dotyczące wykorzystania pamięci bitmapy przez aplikację, agregując dane z urządzeń z Androidem.
Crashlytics 20.1.0
Wyświetla wyjątki braku pamięci (OOM) i błędy spowodowane przekroczeniem limitu pamięci w środowisku produkcyjnym wraz 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.

Dodatkowe materiały

Więcej informacji o pamięci znajdziesz w tych dodatkowych materiałach:

Posty na blogu

Filmy