התקנת פרופיל
העדכון האחרון | גרסה יציבה | מועמד לפרסום | גרסת בטא | גרסת אלפא |
---|---|---|---|---|
4 בספטמבר 2024 | 1.3.1 | 1.4.0-rc01 | - | - |
הצהרה על יחסי תלות
כדי להוסיף תלות ב-ProfileInstaller, עליך להוסיף את מאגר Google Maven פרויקט. למאגר Maven של Google אפשר לקבל מידע נוסף.
מוסיפים את יחסי התלות של פריטי המידע הנדרשים בקובץ build.gradle
בשביל
האפליקציה או המודול שלך:
מגניב
dependencies { implementation "androidx.profileinstaller:profileinstaller:1.3.1" }
Kotlin
dependencies { implementation("androidx.profileinstaller:profileinstaller:1.3.1") }
למידע נוסף על יחסי תלות, אפשר לעיין במאמר הוספת יחסי תלות של build.
משוב
המשוב שלך עוזר לנו לשפר את Jetpack. נשמח לשמוע אם גילית בעיות חדשות או אם יש לך רעיונות לשיפור הספרייה הזו. מומלץ לעיין בעיות קיימות בספרייה הזו לפני שיוצרים ספר חדש. אפשר להוסיף את ההצבעה שלך לבעיה קיימת על ידי לחיצה על לחצן הכוכב.
מקורות מידע בנושא מעקב אחר בעיות אפשר לקבל מידע נוסף.
גרסה 1.4
גרסה 1.4.0-rc01
4 בספטמבר 2024
androidx.profileinstaller:profileinstaller:1.4.0-rc01
הושקה ללא שינויים מגרסת הבטא האחרונה. גרסה 1.4.0-rc01 מכילה את ההתחייבויות האלה.
גרסה 1.4.0-beta01
21 באוגוסט 2024
androidx.profileinstaller:profileinstaller:1.4.0-beta01
הושקה ללא שינויים מגרסת האלפא האחרונה. גרסה 1.4.0-בטא01 מכילה את ההתחייבויות האלה.
גרסה 1.4.0-alpha02
7 באוגוסט 2024
androidx.profileinstaller:profileinstaller:1.4.0-alpha02
משוחרר. גרסה 1.4.0-alpha02 מכילה את התחייבויות אלה.
תכונות חדשות
- נוספה תמיכה ב-api 35 למנהל ההתקנה של הפרופיל. (6f9f6fa)
תיקוני באגים
- הוסרה חלוקה ידנית של הגישה לממשקי API של פלטפורמות חדשות, כי זה קורה באופן אוטומטי באמצעות בניית מודלים של API כשמשתמשים ב-R8 עם AGP 7.3 ואילך (למשל R8 גרסה 3.3) ובכל גרסאות ה-build כשמשתמשים ב-AGP 8.1 ואילך (למשל D8 גרסה 8.1). ללקוחות שלא משתמשים ב-AGP מומלץ לעדכן לגרסה D8 ואילך. למידע נוסף, מומלץ לעיין במאמר הזה. (If6b4c, b/345472586)
גרסה 1.4.0-alpha01
7 בפברואר 2024
androidx.profileinstaller:profileinstaller:1.4.0-alpha01
משוחרר. גרסה 1.4.0-alpha01 מכילה את התחייבויות אלה.
תיקוני באגים
- נוסף קוד שגיאה לכך שלא הוטמע פרופיל במאמת הפרופיל. (Ifb109, b/313928520)
- תיקון הקריסה כשמשחררים תוכנות הצללה (shader) ב-Android U (API 34) וגם באמולטורים. (I031ca, b/274314544)
- הופעלה תמיכה ב-Android U במנהל ההתקנה של הפרופיל. (Iaf177)
- תיקון ההתקנה של הפרופיל ב-Android U נכשל כי הפרופיל הנוכחי לא נוצר ריק כשהתהליך מתחיל. (Ie3899)
- תיקון של המרת הקידוד של מפת הסיביות בשיטה בפורמט של הפרופיל
V_015S
. (aosp/2906631) וגם (aosp/2847740)
גרסה 1.3
גרסה 1.3.1
3 במאי 2023
androidx.profileinstaller:profileinstaller:1.3.1
משוחרר. גרסה 1.3.1 כוללת את ההתחייבויות האלה.
תיקוני באגים
- הופעלה תמיכה ב-Android U במנהל ההתקנה של הפרופיל (Iaf177)
- תיקון ההתקנה של הפרופיל ב-Android U נכשל כי הפרופיל הנוכחי לא נוצר ריק כשהתהליך מתחיל. (Ie3899)
גרסה 1.3.0
22 במרץ 2023
androidx.profileinstaller:profileinstaller:1.3.0
משוחרר. גרסה 1.3.0 כוללת את ההתחייבויות האלה.
שינויים חשובים מאז 1.2.0
- תוקן
NullPointerException
ב-ProfileInstallReceiver
. (b/243851384) - נוסף ה-API של
ProfileVerifier
כדי לבדוק מתוך האפליקציה אם פרופיל הבסיס עבר הידור, תוזמן או חסר (I263a4, b/246653809) - הוספת שידור מעטפת חדש שמאפשר ל-Macrobenchmark לרוקן באופן מלא את נתוני הפרופיל ששמורים בזיכרון, כדי להיכלל ביצירת פרופיל בסיסי. הפעולה הזו נדרשת כדי להשתמש בספריית המאקרו לנתוני ההשוואה לשוק כדי לתעד פרופילים בסיסיים באמצעות
BaselineProfileRule
ולהעריך את ביצועי הפרופיל באמצעותCompilationMode.Partial(warmupIterations)
. - נוסף קוד אבחון לזיהוי פרופילים בסיסיים דחוסים. אי אפשר להתקין פרופילים בסיסיים דחוסים על ידי Profileinstaller ב-Macrobenchmark או בסביבת הייצור בגלל תקורה של המעבד (CPU). יש להימנע מכך כשמפתחים את האפליקציה באמצעות עדכון לגרסה של Studio/AGP Electric Eel או של
bundletool
1.13.1
(I86413, b/261998144) - נוספו רכיבי הוק (hooks) למאקרובנצ'מרק כדי לתעד פרופילים ולשחרר מטמון של תוכנת ההצללה (shader), הנדרשים ליצירת פרופילים בסיסיים או לביצוע מקרובנצ'מרקים במכשירים שלא עברו תהליך רוט (Ie0a7d, b/250083467, b/253094958) (Ia5171, b/2324557)
גרסה 1.3.0-rc01
8 במרץ 2023
androidx.profileinstaller:profileinstaller:1.3.0-rc01
הושקה ללא שינויים מאז גרסת הבטא האחרונה. גרסה 1.3.0-rc01 מכילה את ההתחייבויות האלה.
גרסה 1.3.0-beta01
8 בפברואר 2023
androidx.profileinstaller:profileinstaller:1.3.0-beta01
משוחרר. גרסה 1.3.0-beta01 מכילה את התחייבויות אלה.
שינויים ב-API
- ביטול התמיכה בטיפול בפרופילים דחוסים – פתיחה וביטול דחיסה מובילים לרגרסיה של 10 אלפיות השנייה בניצול המעבד במהלך ההפעלה במהלך ההפעלה. לכן, במקום זאת הוספת אבחון לזיהוי פרופילים בסיסיים שנדחסו באופן שגוי. (I86413, b/261998144)
גרסה 1.3.0-alpha03
11 בינואר 2023
androidx.profileinstaller:profileinstaller:1.3.0-alpha03
משוחרר. גרסה 1.3.0-alpha03 מכילה את התחייבויות אלה.
תיקוני באגים
- מאפשר טיפול בפרופילים בסיסיים דחוסים או לא דחוסים (Ic61a0)
- יש לתקן את
MacrobenchmarkScope.dropShaderCache()
כך שלא תקרוס יותר על ידי תיקון רישום השידור במניפסט של מנהל ההתקנה (I5c728, b/258619948)
גרסה 1.3.0-alpha02
9 בנובמבר 2022
androidx.profileinstaller:profileinstaller:1.3.0-alpha02
משוחרר. גרסה 1.3.0-alpha02 מכילה את התחייבויות אלה.
שינויים ב-API
- הוספת תוכן מושך (hook) לנקודות השוואה כדי לשחרר את מטמון ההצללה, כדי להבטיח ביצועים עקביים בסטארט-אפים במצב התחלתי (cold start), במיוחד במהלך הידור לפרופילים מחזרות בשלב ההכנה. העדכון הזה נדרש כדי למדוד הפעלה במצב התחלתי (cold start) באמצעות
benchmark-macro-junit4:1.2.0-alpha05
ואילך. לשינויי ה-API בספריית ההשוואה לשוק יש לעיין בדף השוואה לשוק 1.2.0-alpha07. (Ia5171, b/231455742)
גרסה 1.3.0-alpha01
24 באוקטובר 2022
androidx.profileinstaller:profileinstaller:1.3.0-alpha01
משוחרר. גרסה 1.3.0-alpha01 מכילה את התחייבויות אלה.
שינויים ב-API
- נוסף ה-API של
ProfileVerifier
כדי לבדוק מתוך האפליקציה אם פרופיל הבסיס עבר הידור, תוזמן או חסר (I263a4, b/246653809) - הוספת שידור מעטפת חדש שמאפשר ל-Macrobenchmark לרוקן באופן מלא את נתוני הפרופיל ששמורים בזיכרון, כדי להיכלל ביצירת פרופיל בסיסי. הפעולה הזו נדרשת כדי להשתמש בספריית המאקרו לנתוני ההשוואה לשוק כדי לתעד פרופילים בסיסיים באמצעות
BaselineProfileRule
ולהעריך את ביצועי הפרופיל באמצעותCompilationMode.Partial(warmupIterations)
. (Ie0a7d, b/250083467, b/253094958)
גרסה 1.2.2
גרסה 1.2.2
11 בינואר 2023
androidx.profileinstaller:profileinstaller:1.2.2
משוחרר. גרסה 1.2.2 כוללת את ההתחייבויות האלה.
תיקוני באגים
- מאפשר טיפול בפרופילים בסיסיים דחוסים או לא דחוסים (Ic61a0)
גרסה 1.2.1
גרסה 1.2.1
7 בדצמבר 2022
androidx.profileinstaller:profileinstaller:1.2.1
משוחרר. גרסה 1.2.1 כוללת את ההתחייבויות האלה.
תכונות חדשות
- הפעל את profileinstaller עבור S_V2 (API 32) ו-TIRAMISU (API 33) (b/254900303).
גרסה 1.2.0
גרסה 1.2.0
27 ביולי 2022
androidx.profileinstaller:profileinstaller:1.2.0
משוחרר. גרסה 1.2.0 כוללת את ההתחייבויות האלה.
שינויים חשובים מאז 1.1.0
- נוספה תמיכה בפורמט של פרופיל ART לשימוש ב-Android 12 ואילך.
- כדאי להוסיף ממשקי API חדשים ב-
ProfileInstallReceiver
כדי לקבל תוצאות עקביות יותר ביחס ל-Macrobenchmarks
כשמשתמשים בפרופילים בסיסיים.
גרסה 1.2.0-rc01
15 ביוני 2022
androidx.profileinstaller:profileinstaller:1.2.0-rc01
משוחרר. גרסה 1.2.0-rc01 מכילה את שמירות האלה.
- הגרסה הזו זהה ל-
androidx.profileinstaller:profileinstaller:1.2.0-beta03
.
גרסה 1.2.0-beta03
1 ביוני 2022
androidx.profileinstaller:profileinstaller:1.2.0-beta03
משוחרר. גרסה 1.2.0-beta03 מכילה את התחייבויות אלה.
גרסה 1.2.0-beta02
18 במאי 2022
androidx.profileinstaller:profileinstaller:1.2.0-beta02
משוחרר. גרסה 1.2.0-beta02 מכילה את התחייבויות אלה.
- אין שינויים, שנדרשים כדי לתמוך בגרסאות 1.2.0-beta02 של פיתוח נייטיב.
גרסה 1.2.0-beta01
11 במאי 2022
androidx.profileinstaller:profileinstaller:1.2.0-beta01
משוחרר. גרסה 1.2.0-beta01 מכילה את התחייבויות אלה.
שינויים ב-API
- כדאי להוסיף ממשקי API חדשים ב-
ProfileInstallReceiver
כדי לקבל תוצאות עקביות יותר ביחס ל-Macrobenchmarks
כשמשתמשים בפרופילים בסיסיים. (If2ae5, b/215740637)
תיקוני באגים
- מנהל ההתקנה של הפרופיל מציג הודעה מועילה כשמנסים להשתמש בפורמט
V_001
של המטא-נתונים ב-Android 12 ואילך. (aosp/1978526, b/217502387) - מנהל ההתקנה של הפרופיל משתמש עכשיו בגרסה
1.1.1
שלandroidx.startup
. (aosp/2077099, b/229828376)
גרסה 1.2.0-alpha02
26 בינואר, 2022
androidx.profileinstaller:profileinstaller:1.2.0-alpha02
משוחרר. גרסה 1.2.0-alpha02 מכילה את התחייבויות אלה.
הגרסה הזו זהה ל-1.2.0-alpha01
.
גרסה 1.2.0-alpha01
12 בינואר, 2022
androidx.profileinstaller:profileinstaller:1.2.0-alpha01
משוחרר. גרסה 1.2.0-alpha01 מכילה את התחייבויות אלה.
תכונות חדשות
- צריך להוסיף תמיכה בפורמט פרופיל ART שיהיה בשימוש ב-Android 12 ואילך.
גרסה 1.1.0
גרסה 1.1.0
9 בפברואר 2022
androidx.profileinstaller:profileinstaller:1.1.0
משוחרר. גרסה 1.1.0 כוללת את ההתחייבויות האלה.
גרסה 1.1.0-rc01
15 בדצמבר 2021
androidx.profileinstaller:profileinstaller:1.1.0-rc01
מופצת ללא עדכונים מאז 1.1.0-בטא04. גרסה 1.1.0-rc01 מכילה את ההתחייבויות האלה.
גרסה 1.1.0-beta04
1 בדצמבר 2021
androidx.profileinstaller:profileinstaller:1.1.0-beta04
משוחרר. גרסה 1.1.0-beta04 כוללת את ההתחייבויות האלה.
גרסה 1.1.0-beta03
17 בנובמבר 2021
androidx.profileinstaller:profileinstaller:1.1.0-beta03
משוחרר. גרסה 1.1.0-beta03 מכילה את התחייבויות אלה.
תיקוני באגים
- עודכנה לתמיכה בכתיבה בגרסה 1.1.0-beta03
גרסה 1.1.0-beta02
3 בנובמבר 2021
androidx.profileinstaller:profileinstaller:1.1.0-beta02
משוחרר. גרסה 1.1.0-beta02 מכילה את התחייבויות אלה.
תיקוני באגים
- עודכנה לתמיכה בכתיבה בגרסה 1.1.0-beta02
גרסה 1.1.0-beta01
27 באוקטובר 2021
androidx.profileinstaller:profileinstaller:1.1.0-beta01
משוחרר. גרסה 1.1.0-beta01 מכילה את התחייבויות אלה.
- לא בוצעו שינויים מ-1.1.0-alpha07.
גרסה 1.1.0-alpha07
13 באוקטובר 2021
androidx.profileinstaller:profileinstaller:1.1.0-alpha07
משוחרר. גרסה 1.1.0-alpha07 מכילה את התחייבויות אלה.
תכונות חדשות
- נוספה תמיכה ב-profm ב-Android N
גרסה 1.1.0-alpha06
29 בספטמבר 2021
androidx.profileinstaller:profileinstaller:1.1.0-alpha06
משוחרר. גרסה 1.1.0-alpha06 מכילה את התחייבויות אלה.
תיקוני באגים
- פתרון בעיות בהמרת קידוד של profileinstaller ב-N, O ו-O_MR1. (I12d75)
גרסה 1.1.0-alpha05
15 בספטמבר 2021
androidx.profileinstaller:profileinstaller:1.1.0-alpha05
משוחרר. גרסה 1.1.0-alpha05 מכילה את התחייבויות אלה.
תיקוני באגים
- תיקון תיקון של המרת קידוד של פרופיל ב-Android Nougat וב-Android Oreo לחבילות APK של Multidex.
גרסה 1.1.0-alpha04
1 בספטמבר 2021
androidx.profileinstaller:profileinstaller:1.1.0-alpha04
משוחרר. גרסה 1.1.0-alpha04 מכילה את התחייבויות אלה.
תיקוני באגים
- צריך לתקן את
ProfileInstaller
כדי שאפליקציות שמשתמשות בפרופילים בסיסיים יוכלו להריץ נקודות מאקרו בקלות באמצעותCompilationMode.BaselineProfile
. (I42657, b/196074999)
גרסה 1.1.0-alpha03
18 באוגוסט 2021
androidx.profileinstaller:profileinstaller:1.1.0-alpha03
משוחרר. גרסה 1.1.0-alpha03 מכילה את התחייבויות אלה.
תיקוני באגים
- שינוי התנהגות הדילוג של profileinstaller כדי לתעד את PackageInfo.lastUpdatedTime בקובץ בספריית הקבצים של האפליקציה וב- להשוות אותו לפני התקנת הפרופיל בהפעלה הבאה. (Ib93d1)
- שינוי הפורמט של הפרופיל במכשירי P, Q ו-R בהתאם לדרישות של ART (I84e89)
גרסה 1.1.0-alpha02
4 באוגוסט 2021
androidx.profileinstaller:profileinstaller:1.1.0-alpha02
משוחרר. גרסה 1.1.0-alpha02 מכילה את התחייבויות אלה.
בוצע עדכון להתאמה לכתיבה בגרסה 1.1.0-alpha01.
גרסה 1.1.0-alpha01
21 ביולי 2021
androidx.profileinstaller:profileinstaller:1.1.0-alpha01
משוחרר. גרסה 1.1.0-alpha01 מכילה את התחייבויות אלה.
תיקוני באגים
- תוקן באג שגרם להפעלת מצב מחמיר בנסיבות מסוימות.
גירסה 1.0
גרסה 1.0.4
13 באוקטובר 2021
androidx.profileinstaller:profileinstaller:1.0.4
משוחרר. גרסה 1.0.4 כוללת את ההתחייבויות האלה.
- עודכנה לתמיכה בכתיבה 1.0.4
גרסה 1.0.3
29 בספטמבר 2021
androidx.profileinstaller:profileinstaller:1.0.3
משוחרר. גרסה 1.0.3 מכילה את ההתחייבויות האלה.
- עודכנה לתמיכה בכתיבה 1.0.3
גרסה 1.0.2
1 בספטמבר 2021
androidx.profileinstaller:profileinstaller:1.0.2
משוחרר. גרסה 1.0.2 כוללת את ההתחייבויות האלה.
תיקוני באגים
- נוספה המרת קידוד של פרופיל למכשירי P, Q ו-R. המשמעות של השינוי הזה היא שהמכשירים האלה ימירו את הקידוד של הפרופיל, מה שמבטיח ש-ART תמיד יוכל להשתמש בפרופיל הכתוב. בעבר, המערכת דילגה על המרת הקידוד בפלטפורמות האלה, וכתוצאה מכך לפעמים ART לא יכול לעבד את פרופיל המקור. אין שינויים בממשקי ה-API למפתחים.
גרסה 1.0.1
4 באוגוסט 2021
androidx.profileinstaller:profileinstaller:1.0.1
משוחרר. גרסה 1.0.1 כוללת את ההתחייבויות האלה.
עודכנה להתאמה לכתיבה 1.0.1.
גרסה 1.0.0
28 ביולי 2021
androidx.profileinstaller:profileinstaller:1.0.0
משוחרר. גרסה 1.0.0 מכילה את ההתחייבויות האלה.
התכונות העיקריות של 1.0.0
מנהל ההתקנה של הפרופילים הוא ספרייה חדשה שמאפשרת לספריות ולאפליקציות להגדיר 'כללי פרופיל' ולקבץ את הפרטים של פרופיל ART עם APK. הספרייה הזו תתקין את הפרופילים האלה לאחר השקת האפליקציה. ניתן להשתמש בכך כדי לשפר את ביצועי האפליקציה.
מידע נוסף על כללי הפרופיל האלה ועל אופן הפעולה שלהם זמין בנתוני הגרסה המפורטים בכתובת 1.0.0-beta01.
גרסה 1.0.0-rc02
14 ביולי 2021
androidx.profileinstaller:profileinstaller:1.0.0-rc02
משוחרר. גרסה 1.0.0-rc02 מכילה את ההתחייבויות האלה.
גרסה 1.0.0-rc01
1 ביולי 2021
androidx.profileinstaller:profileinstaller:1.0.0-rc01
משוחרר. גרסה 1.0.0-rc01 מכילה את ההתחייבויות האלה.
זוהי גרסת RC ללא שינויים מגרסת הבטא.
גרסה 1.0.0-beta01
16 ביוני 2021
androidx.profileinstaller:profileinstaller:1.0.0-beta01
משוחרר. גרסה 1.0.0-beta01 מכילה את התחייבויות אלה.
מטרת הספרייה
מנהל ההתקנה של הפרופילים הוא ספרייה חדשה שמאפשרת לספריות ולאפליקציות להגדיר 'כללי פרופיל' ולקבץ את הפרטים של פרופיל ART עם APK. הספרייה הזו תתקין את הפרופילים האלה לאחר השקת האפליקציה. ניתן להשתמש בכך כדי לשפר את ביצועי האפליקציה.
התקנת הפרופיל הזו הושלמה באמצעות ספריית androidx.startup. אם מסיבה כלשהי רוצים להשבית את התקנת הפרופיל, הם יכולים לשנות את המניפסט ולהסיר אותו:
<provider
android:name="androidx.startup.InitializationProvider"
android:authorities="${applicationId}.androidx-startup"
android:exported="false"
tools:node="merge">
<meta-data android:name="androidx.profileinstaller.ProfileInstallerInitializer"
tools:node="remove" />
</provider>
האפשרות הזאת שימושית במיוחד אם לאפליקציה יש דרישות הפעלה לא טריות, וברצונך להפעיל את התקנת הפרופיל באופן ידני באמצעות ה-API של ProfileInstaller.writeProfile
.
מהם כללי פרופיל?
כללי פרופיל עבור ספרייה מוגדרים בקובץ הטקסט
baseline-prof.txt
שנמצא בספרייהsrc/main
או בספרייה מקבילה. הקובץ מציין כלל בכל שורה, כאשר כלל במקרה הזה הוא דפוס להתאמה ל-methods או מחלקות בספרייה. התחביר של הכללים האלה הוא קבוצת-על של פורמט פרופיל ART קריא לאנשים, שנעשה בו שימוש כשמשתמשים ב-adb shell profman --dump-classes-and-methods ...
. לכללים אלה יש אחת משתי דרכים לטירגוט שיטות או מחלקות.כלל שיטה יכלול את הדפוס הבא:
<FLAGS><CLASS_DESCRIPTOR>-><METHOD_SIGNATURE>
וכלל מחלקה יהיה הדפוס הבא:
<CLASS_DESCRIPTOR>
הערך
<FLAGS>
הוא אחד או יותר מהתוויםH
,S
ו-P
כדי לציין אם יש לסמן את השיטה הזו כ'חם', 'הפעלה' או 'פוסט סטארט-אפ'.<CLASS_DESCRIPTOR>
הוא התיאור של המחלקה שאליה שייכת שיטת הטירגוט. לדוגמה, המחלקהandroidx.compose.runtime.SlotTable
תקבל מתאר שלLandroidx/compose/runtime/SlotTable;
.<METHOD_SIGNATURE>
הוא החתימה של השיטה, והוא כולל את השם, סוגי הפרמטרים וסוגי ההחזרה של השיטה. לדוגמה, השיטהfun isPlaced(): Boolean
ב-LayoutNode
כוללת את החתימהisPlaced()Z
.לתבניות האלה יכולים להיות תווים כלליים לחיפוש (
**
,*
ו-?
) כדי שכלל יחיד יכלול כמה שיטות או מחלקות.
למה משמשים הכללים?
שיטה עם הדגל
H
מציינת שהשיטה הזו היא 'חם' וצריך להרכיב אותה מראש.שיטה עם הדגל
S
מציינת שזו שיטה שנקראת בזמן ההפעלה, וצריך להרכיב אותה מראש כדי למנוע את עלות ההידור והפירוש של השיטה בזמן ההפעלה.שיטה עם הדגל
P
מציינת שזו שיטה שנקראת אחרי ההפעלה.מחלקה שנמצאת בקובץ הזה מצביעה על כך שנעשה בו שימוש במהלך ההפעלה וצריך להקצות אותו מראש בערימה כדי למנוע את עלות הטעינה של הכיתה.
כיצד זה עובד?
ספריות יכולות להגדיר את הכללים האלה, שיישמרו בפריטי מידע שנוצרו בתהליך הפיתוח (Artifact) של AAR. לאחר מכן, לאחר היצירה של APK שכולל את ארטיפקטים האלה, הכללים האלה ממוזגים יחד, והכללים הממוזגים משמשים כדי לבנות פרופיל ART בינארי קומפקטי שהוא ספציפי ל-APK. לאחר מכן ART יכול להשתמש בפרופיל הזה כשה-APK מותקן במכשירים כדי ליצור מראש קבוצת משנה ספציפית של האפליקציה ולשפר את הביצועים של האפליקציה, במיוחד בהפעלה הראשונה. הערה: לא תהיה לכך השפעה על אפליקציות שניתנות לניפוי באגים.
צריך לתת לקובצי הכללים את השם
baseline-prof.txt
ולהציב בספריית השורש של קבוצת המקור הראשית (הוא צריך להיות קובץ אחות לקובץAndroidManifset.xml
)נכון לעכשיו, ייעשה שימוש בקבצים האלה רק אם אתם משתמשים בפלאגין של Android Gradle מגרסה 7.0 ואילך, וכרגע מופעל רק עם דגל ב-
gradle.properties
:# Enable adding baseline-prof.txt files to AAR artifacts, and binary profiles to APKs android.experimental.enableArtProfiles=true
בפרופילים נדרשת יתרה
- פרופילים שנוצרו בצורה נכונה, שמתעדפים בצורה נכונה שיטות וסיווגים שיהיו בנתיב ההפעלה וביצועים קריטיים, יניבו את התוצאות הטובות ביותר. עם זאת, אם כוללים יותר מדי שיטות או מחלקות בפרופילים, יכולה להיות השפעה שלילית נטו על צריכת הזיכרון והשימוש בדיסק. לכן מומלץ להתחיל באופן שמרני אם מגדירים כללי פרופיל משלכם.