Aby zapewnić użytkownikom jak najlepsze wrażenia, zoptymalizuj aplikację, aby była jak najmniejsza i jak najszybsza. Nasz optymalizator aplikacji, R8, usprawnia aplikację, usuwając nieużywany kod i zasoby, przepisując kod w celu optymalizacji wydajności w czasie działania i wykonując inne działania. Dla użytkowników oznacza to:
- szybciej uruchamiać aplikację,
- lepsza wydajność renderowania i działania;
- Mniej błędów ANR
Aby włączyć optymalizację aplikacji, ustaw w skrypcie kompilacji na poziomie aplikacji wersji isMinifyEnabled = true
(optymalizacja kodu) i isShrinkResources = true
(optymalizacja zasobów), jak pokazano w poniższym kodzie. Zalecamy, aby zawsze włączać oba ustawienia. Zalecamy też włączanie optymalizacji aplikacji tylko w ostatecznej wersji aplikacji, którą testujesz przed opublikowaniem – zwykle w wersji do publikacji. Optymalizacje wydłużają czas kompilacji projektu i mogą utrudniać debugowanie ze względu na sposób, w jaki modyfikują kod.
Kotlin
android { buildTypes { release { // Enables code-related app optimization. isMinifyEnabled = true // Enables resource shrinking. isShrinkResources = true proguardFiles( // Default file with automatically generated optimization rules. getDefaultProguardFile("proguard-android-optimize.txt"), ... ) ... } } ... }
Groovy
android { buildTypes { release { // Enables code-related app optimization. minifyEnabled true // Enables resource shrinking. shrinkResources true // Default file with automatically generated optimization rules. proguardFiles getDefaultProguardFile('proguard-android-optimize.txt') ... } } }
Sprawdź też, czy R8 w pełni wykorzystuje swoje możliwości optymalizacji, usuwając z pliku gradle.properties
projektu ten wiersz (jeśli istnieje):
android.enableR8.fullMode=false # Remove this line from your codebase.
Pamiętaj, że włączenie optymalizacji aplikacji utrudnia zrozumienie śladów stosu, zwłaszcza jeśli R8 zmienia nazwy klas lub metod. Aby uzyskać ślady stosu, które prawidłowo odpowiadają Twojemu kodowi źródłowemu, przeczytaj artykuł Przywracanie oryginalnego śladu stosu.
Jeśli R8 jest włączony, warto też utworzyć profile uruchamiania, aby jeszcze bardziej zwiększyć wydajność uruchamiania.
Jeśli włączenie optymalizacji aplikacji spowoduje błędy, możesz je naprawić, stosując te strategie:
- Dodaj reguły zachowywania, aby niektóre fragmenty kodu pozostały niezmienione.
- Wprowadzaj optymalizacje stopniowo
- Zaktualizuj kod, aby korzystać z bibliotek lepiej dostosowanych do optymalizacji.