פרופילים של Baseline משפרים את מהירות הרצת הקוד ב-30% בערך מההפעלה הראשונה, כי הם מאפשרים להימנע משלבי פרשנות וקימפול just-in-time (JIT) לנתיבי הקוד הכלולים. כשמצרפים פרופיל Baseline לאפליקציה או לספרייה, מאפשרים לסביבת זמן הריצה ל-Android (ART) לבצע אופטימיזציה של נתיבי קוד ספציפיים באמצעות קימפול מראש (AOT), וכך לשפר את הביצועים לכל התקנה חדשה של האפליקציה ולכל עדכון לאפליקציה. זו אופטימיזציה מונחית פרופיל (PGO) שמאפשרת לאפליקציות להעלות את איכות ההפעלה, לצמצם בעיות בממשק (jank) שקשורות לאינטראקציה, ולשפר את הביצועים הכוללים של זמן הריצה למשתמשי הקצה כבר מההפעלה הראשונה.
שיקולי ביצועים בכתיבת תוכן
Compose מופצת כספרייה ולא כחלק מפלטפורמת Android. הגישה הזו מאפשרת לצוות של Compose לעדכן את Compose לעיתים קרובות ולתמוך במגוון רחב של גרסאות Android. עם זאת, הפצה של Compose כספרייה כרוכה בעלות.
קוד פלטפורמת Android כבר עובר קומפילציה ומותקן במכשיר. עם זאת, צריך לטעון ספריות כשמפעילים את האפליקציה, ולפרש אותן JIT כשצריך. הדבר עלול להאט את האפליקציה בהפעלה ובפעם הראשונה שבה נעשה שימוש בתכונה של ספרייה.
היתרונות של פרופילים של Baseline
כדי לשפר את הביצועים, אפשר להגדיר פרופילים של Baseline. הפרופילים האלה מגדירים את המחלקות והשיטות שנדרשות בתהליכי משתמש קריטיים, והם מופצים עם קובץ ה-APK או ה-AAB של האפליקציה. במהלך התקנת האפליקציה, ART מקמפל את הקוד הקריטי הזה מראש (AOT) כדי שהוא יהיה מוכן לשימוש כשהאפליקציה תופעל.
הגדרת פרופיל Baseline טוב היא לא תמיד פשוטה, ולכן Compose מגיע עם פרופיל כזה כברירת מחדל. יכול להיות שלא תצטרכו לעשות כלום כדי ליהנות מההטבה הזו. עם זאת, פרופיל ה-Baseline שמגיע עם Compose מכיל רק אופטימיזציות לקוד שבספריית Compose.
Macrobenchmark
כדי לקבל את האופטימיזציה הטובה ביותר, יוצרים פרופיל Baseline לאפליקציה באמצעות Macrobenchmark כדי לכסות תרחישי שימוש קריטיים של משתמשים. כשמגדירים פרופיל משלכם, צריך לבדוק אותו כדי לוודא שהוא עוזר. דרך טובה לעשות את זה היא לכתוב בדיקות Macrobenchmark לאפליקציה ולבדוק את תוצאות הבדיקה כשכותבים את פרופיל ה-Baseline ומשנים אותו.
דוגמה לאופן כתיבת בדיקות Macrobenchmark לממשק משתמש של Compose זמינה בדוגמה של Macrobenchmark Compose.
מקורות מידע נוספים
- מדריך לביצועי האפליקציה: כאן תמצאו שיטות מומלצות, ספריות וכלים לשיפור הביצועים ב-Android.
- בדיקת הביצועים: בדיקת ביצועי האפליקציה.
- השוואה לשוק: השוואה של ביצועי האפליקציה לשוק.
- הפעלת האפליקציה: אופטימיזציה של הפעלת האפליקציה.
- פרופילים של Baseline: הסבר על פרופילים של Baseline.