הפעלת אופטימיזציית האפליקציה

כדי ליהנות מחוויית המשתמש הטובה ביותר, כדאי לבצע אופטימיזציה של האפליקציה כדי שהיא תהיה קטנה ומהירה ככל האפשר. הכלי שלנו לאופטימיזציה של אפליקציות, שנקרא R8, משפרת את האפליקציה על ידי הסרת קוד ומשאבים שלא בשימוש, כתיבת קוד מחדש כדי לבצע אופטימיזציה של הביצועים בסביבת זמן הריצה ועוד. מה המשמעות של זה למשתמשים שלכם:

  • זמן הפעלה מהיר יותר
  • פחות בעיות בממשק (jank)
  • פחות שגיאות ANR

כדי להפעיל אופטימיזציה של האפליקציה, מגדירים את הערכים isMinifyEnabled = true (לאופטימיזציה של הקוד) ו-isShrinkResources = true (לאופטימיזציה של המשאבים) בסקריפט ה-build ברמת האפליקציה של גרסת build המהדורה, כפי שמתואר בקוד הבא. מומלץ להפעיל תמיד את שתי ההגדרות. מומלץ גם להפעיל אופטימיזציה של האפליקציה רק בגרסה הסופית של האפליקציה שאתם בודקים לפני הפרסום – בדרך כלל גרסה build של הגרסה היציבה – כי האופטימיזציה מאריכה את זמן ה-build של הפרויקט ויכולה להקשות על ניפוי הבאגים בגלל האופן שבו היא משנה את הקוד.

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

            ...
        }
    }
}

חשוב לזכור שהפעלת אופטימיזציה של אפליקציות מקשה על ההבנה של נתוני סטאק, במיוחד אם R8 משנה את השמות של המחלקות או השיטות. כדי לקבל מעקב סטאק שתואם לקוד המקור, תוכלו לעיין במאמר 'שחזור המעקב המקורי אחר סטאק'.

אם R8 מופעל, כדאי גם ליצור פרופילים של הפעלה כדי לשפר עוד יותר את הביצועים של האפליקציה בזמן ההפעלה.

אם הפעלתם אופטימיזציה של אפליקציה והיא גורמת לשגיאות, הנה כמה אסטרטגיות לפתרון הבעיה: