Jetpack פיתוח נייטיב מספק ביצועים מעולים כבר מההתחלה. כדאי להגדיר את האפליקציה לפי השיטות המומלצות כדי להימנע ממלכודות נפוצות ולבצע אופטימיזציה של הביצועים של אפליקציית Compose.
מושגים מרכזיים
אלה כמה מהמושגים המרכזיים שמשפיעים על הביצועים ב-Compose:
- שלבים: חשוב להבין את השלבים של ההרכבה, הפריסה והציור כדי לבצע אופטימיזציה של האופן שבו Compose מעדכן את ממשק המשתמש.
- פרופילים Baseline: הפרופילים האלה מבצעים קומפילציה מראש של קוד חיוני, וכך מאפשרים הפעלה מהירה יותר של האפליקציה ואינטראקציות חלקות יותר.
- יציבות: שיפור היציבות של האפליקציה כדי לדלג ביעילות רבה יותר על קומפוזיציות מחדש מיותרות, וכך לשפר את הביצועים.
הגדרה נכונה של האפליקציה
אם הביצועים של האפליקציה נמוכים, יכול להיות שיש בעיה בהגדרות. השלב הראשון הוא לבדוק את אפשרויות ההגדרה הבאות:
- יצירת גרסה במצב הפצה באמצעות R8: נסו להריץ את האפליקציה במצב הפצה. מצב ניפוי באגים שימושי לזיהוי בעיות רבות, אבל הוא גורם לירידה בביצועים ויכול להקשות על זיהוי בעיות אחרות. מומלץ גם להפעיל אופטימיזציה וצמצום באמצעות המהדר R8 כדי להבטיח גרסה יעילה וביצועים טובים.
- שימוש בפרופילים Baseline: פרופילים Baseline משפרים את הביצועים על ידי הידור מראש של קוד בתהליכים קריטיים של משתמשים. Compose כולל פרופיל ברירת מחדל, אבל מומלץ ליצור גם פרופיל ספציפי לאפליקציה. מידע נוסף על פרופילים בסיסיים זמין במסמכי התיעוד הכלליים בנושא ביצועים ב-Android
כלים
כדאי להכיר את הכלים שזמינים כדי למדוד ולנתח את הביצועים של אפליקציית Compose.
שיטות מומלצות
כשאתם מפתחים אפליקציה באמצעות Compose, כדאי לזכור את השיטות המומלצות הבאות:
- הימנעות מחישובים יקרים: משתמשים ב-
remember
כדי לשמור במטמון את התוצאות של חישובים יקרים. - עזרה לגבי פריסות למילוי איטי (lazy): כדי למזער את מספר הפעמים שבהן מתבצעת יצירת מחדש מיותרת, אפשר לספק מפתחות יציבים לפריסות למילוי איטי באמצעות הפרמטר
key
. - הגבלת קומפוזיציות מחדש מיותרות: אפשר להשתמש ב-
derivedStateOf
כדי להגביל קומפוזיציות מחדש כשהמצב משתנה במהירות. - דחיית קריאות לסטטוס: כדאי לדחות את הקריאות לסטטוס כמה שיותר, על ידי עטיפה שלהן בפונקציות lambda.
- שימוש במשתני lambda לשינוי מצב: משתמשים במשתני lambda כמו
Modifier.offset { ... }
למשתני מצב שמשתנים לעיתים קרובות. - הימנעות מכתיבת נתונים לאחור: אף פעם אל תכתבו במצב שכבר נקרא ב-composable.
מידע נוסף זמין במדריך שיטות מומלצות.
צפיות
אם אתם עובדים עם תצוגות במקום עם Compose, כדאי לעיין במדריך הייעודי בנושא שיפור הביצועים של הפריסה.
מקורות מידע נוספים
- מדריך בנושא ביצועי אפליקציות: כאן תוכלו למצוא שיטות מומלצות, ספריות וכלים לשיפור הביצועים ב-Android.
- בדיקת הביצועים: בדיקת ביצועי האפליקציה.
- בדיקת ביצועים: בדיקת ביצועי האפליקציה.
- הפעלת אפליקציה: אופטימיזציה של הפעלת האפליקציה.
- פרופילים בסיסיים: הסבר על פרופילים בסיסיים.