Włączanie optymalizacji aplikacji

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 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')

            ...
        }
    }
}

Optymalizacja zmniejszania zasobów w celu uzyskania jeszcze mniejszych aplikacji

Wtyczka Androida do obsługi Gradle (AGP) w wersji 8.12.0 wprowadza zoptymalizowane zmniejszanie zasobów, które ma na celu integrację optymalizacji zasobów i kodu, aby tworzyć jeszcze mniejsze i szybsze aplikacje.

Włączanie optymalnego zmniejszania zasobów

Aby włączyć nową zoptymalizowaną ścieżkę zmniejszania zasobów w wersji AGP starszej niż 9.0.0, dodaj do pliku gradle.properties projektu ten kod:

android.r8.optimizedResourceShrinking=true

Jeśli używasz AGP w wersji 9.0.0 lub nowszej, nie musisz ustawiać android.r8.optimizedResourceShrinking=true. Zoptymalizowane zmniejszanie zasobów jest stosowane automatycznie, gdy w konfiguracji kompilacji włączona jest opcja isShrinkResources = true.

Sprawdzanie i konfigurowanie ustawień optymalizacji R8

Aby włączyć pełne możliwości optymalizacji R8, usuń z pliku gradle.properties w projekcie 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: