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