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

השיטות המומלצות הבאות יעזרו לכם לבצע אופטימיזציה של האפליקציה בלי לפגוע באיכות.

שימוש בפרופילים של קבוצת הבסיס

אפשר לשפר את פרופילי הבסיס מהירות ביצוע של הקוד ב-30% מההפעלה הראשונה, ויכולה להפוך את כל המשתמשים אינטראקציות – כמו הפעלת האפליקציה, ניווט בין מסכים או גלילה דרך תוכן - בצורה חלקה יותר כבר מההפעלה הראשונה שלהם. הגברת המהירות רמת הרספונסיביות של האפליקציה מובילה ליותר משתמשים פעילים ביום (DAU) וממוצע גבוה יותר שיעור הביקורים החוזרים.

שימוש בפרופיל הפעלה

א' פרופיל הפעלה דומה לפרופיל Baseline, אבל הוא מופעל בזמן הידור כדי לבצע אופטימיזציה פריסת DEX להפעלה מהירה יותר של האפליקציה.

שימוש בספרייה להפעלת האפליקציה

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

טעינה מדורגת של ספריות או השבתת אתחול אוטומטי

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

שימוש ב-ViewStubs

ViewStub הוא סמל בלתי נראה בגודל אפס View שאפשר להשתמש בהם כדי להגדיל באופן מדורג את משאבי הפריסה בזמן הריצה. הזה מאפשרת לעכב ניפוח של תצוגות שאינן נחוצות בהפעלה עד בזמן האימון.

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

var shouldLoad by remember {mutableStateOf(false)}

if (shouldLoad) {
   MyComposable()
}

כדי לטעון את הרכיבים של ההרכבת בתוך הבלוק המותנה, משנים את shouldLoad:

LaunchedEffect(Unit) {
   shouldLoad = true
}

פעולה זו מפעילה הרכבה מחדש שכוללת את הקוד בתוך התנאי בקטע הקוד הראשון.

אופטימיזציה של מסך הפתיחה

מסכי פתיחה הם חלק חשוב בהפעלה של אפליקציה, והם משתמשים מסך הפתיחה יכול לעזור לכם לשפר את החוויה הכוללת של ההפעלה של האפליקציה. במכשירי Android 12 (רמת API 31) ואילך כולל מסך פתיחה שמיועד לשפר או של ביצועים. למידע נוסף, ראה Splash .

שימוש בסוגי תמונות שניתן לשנות

מומלץ להשתמש במשתנה וקטור פריטים שניתנים להזזה לתמונות. כשזה לא אפשרי, צריך להשתמש ב-WebP תמונות. WebP הוא פורמט של תמונה שמספק דחיסת נתונים מעולה ללא אובדן נתונים ויכולת איבוד נתונים לתמונות באינטרנט. שלך יכולים להמיר תמונות קיימות בפורמט BMP, JPG, PNG או GIF סטטי לפורמט WebP באמצעות ב-Android Studio. מידע נוסף זמין במאמר יצירת WebP תמונות.

בנוסף, מזער את המספר והגודל של התמונות שנטענות במהלך ההפעלה.

שימוש בממשקי API לשיפור ביצועים

Performance API למדיה הפעלה זמינה ב-Android 12 (רמת API 31) ואילך. אפשר להשתמש ב-API הזה כדי להבין את פרטי המכשיר יכולות ולבצע פעולות בהתאם.

מתן עדיפות למעקב אחר הפעלה במצב התחלתי (cold start)

הפעלה במצב התחלתי (cold start) מתייחסת לאפליקציה מההתחלה. כלומר, התהליך של המערכת עדיין לא יוצר את התהליך של האפליקציה. בדרך כלל, האפליקציה מופעלת במצב התחלתי (cold start) אם מפעילים אותה בפעם הראשונה הזמן שעבר מאז אתחול המכשיר או מאז שהמערכת הפסיקה את האפליקציה בכוח. קרה הרבה יותר איטיות, כי האפליקציה והמערכת צריכה לבצע יותר עבודה לא נדרשת בסוגים אחרים של הפעלה, כמו הפעלה במצב ביניים (warm start) או הפעלה מתוך הזיכרון (hot start). מעקב מערכת חברות סטארט-אפ במצב התחלתי (cold start) מאפשרות פיקוח טוב יותר על ביצועי האפליקציות.