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
- Przygotowanie aplikacji na szersze limity pamięci
- Priorytetowe traktowanie wydajności pamięci: najważniejsze kroki w Androidzie 17