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
- Przygotowanie aplikacji na szersze limity pamięci
- Priorytetowe traktowanie wydajności pamięci: najważniejsze kroki w Androidzie 17
Filmy
Tworzenie aplikacji na Androida, które efektywnie wykorzystują pamięć