Aby zapewnić użytkownikom jak najlepsze wrażenia, zoptymalizuj aplikację, aby była jak najmniejsza i jak najszybsza. Nasz optymalizator aplikacji o nazwie R8 usprawnia działanie aplikacji przez usuwanie nieużywanego kodu i zasobów oraz przepisywanie kodu w celu optymalizacji wydajności w czasie wykonywania. Dla użytkowników oznacza to:
- szybciej uruchamiać aplikację,
- Mniej zacięć
- Mniej błędów ANR
Aby włączyć optymalizację aplikacji, w skrypcie kompilacji na poziomie aplikacji wersji na potrzeby wydania ustaw opcje isMinifyEnabled = true
(optymalizacja kodu) i isShrinkResources = true
(optymalizacja zasobów) zgodnie z poniższym kodem. Zalecamy, aby zawsze włączać oba ustawienia. Zalecamy też włączanie optymalizacji aplikacji tylko w jej ostatecznej wersji, którą testujesz przed opublikowaniem – zwykle jest to wersja publikacyjna – ponieważ optymalizacja wydłuża czas kompilacji projektu i może utrudniać debugowanie ze względu na sposób modyfikowania kodu.
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') ... } } }
Pamiętaj, że włączenie optymalizacji aplikacji utrudnia interpretację śladów stosu, zwłaszcza jeśli R8 zmienia nazwy klas lub metod. Aby uzyskać prawidłowe ścieżki stosu odpowiadające Twojemu kodom źródłowym, zapoznaj się z informacjami w sekcji Odzyskiwanie oryginalnej ścieżki stosu.
Jeśli R8 jest włączone, na potrzeby jeszcze lepszych osiągnięć na etapie uruchamiania utwórz profile uruchamiania.
Jeśli włączysz optymalizację aplikacji, a to spowoduje błędy, możesz je naprawić w ten sposób:
- Dodaj reguły zachowania, aby zachować część kodu.
- Stosuj optymalizacje stopniowo.
- Zaktualizuj kod, aby korzystać z bibliotek lepiej nadających się do optymalizacji.