מדדים
| העדכון האחרון | גרסה יציבה | גרסה מועמדת להפצה | גרסת בטא | גרסת אלפא |
|---|---|---|---|---|
| 24 בספטמבר 2025 | - | 1.0.0-rc01 | - | - |
הצהרה על יחסי תלות
כדי להוסיף תלות ב-Metrics, צריך להוסיף את מאגר Google Maven לפרויקט. מידע נוסף זמין במאמר בנושא מאגר Maven של Google.
מוסיפים את יחסי התלות של הארטיפקטים שאתם צריכים בקובץ build.gradle של האפליקציה או המודול:
מגניב
dependencies { implementation "androidx.metrics:metrics-performance:1.0.0-rc01" }
Kotlin
dependencies { implementation("androidx.metrics:metrics-performance:1.0.0-rc01") }
מידע נוסף על יחסי תלות זמין במאמר הוספת יחסי תלות ב-build.
משוב
המשוב שלכם עוזר לנו לשפר את Jetpack. נשמח לשמוע מכם אם תגלו בעיות חדשות או אם יש לכם רעיונות לשיפור הספרייה הזו. לפני שיוצרים ספרייה חדשה, כדאי לעיין בבעיות הקיימות בספרייה הזו. כדי להוסיף את ההצבעה שלכם לבעיה קיימת, לוחצים על לחצן הכוכב.
מידע נוסף זמין במאמרי העזרה בנושא כלי המעקב אחר בעיות.
גרסה 1.0.0
גרסה 1.0.0-rc01
24 בספטמבר 2025
androidx.metrics:metrics-performance:1.0.0-rc01 משוחרר. גרסה 1.0.0-rc01 מכילה את הקומטים האלה.
גרסה 1.0.0-beta04
10 בספטמבר 2025
androidx.metrics:metrics-performance:1.0.0-beta04 משוחרר. גרסה 1.0.0-beta04 מכילה את הקומטים האלה.
External Contribution
- תיקונים
IndexOutOfBoundsExceptionב-JankStats(I113e5,b/253576508)
גרסה 1.0.0-beta03
27 באוגוסט 2025
androidx.metrics:metrics-performance:1.0.0-beta03 משוחרר. גרסה 1.0.0-beta03 מכילה את הקומטים האלה.
תיקוני באגים
- תיקון
IllegalArgumentException("ניסיון להסיר אתOnFrameMetricsAvailableListenerשלא נוסף אף פעם"). לא מתבצע ניסיון להקליט את התזמון של הפריימים כשחלון לא מואץ באמצעות חומרה, כי אין תמיכה בכך ב-Window.OnFrameMetricsAvailableListener. (I8fef2, b/436880904)
גרסה 1.0.0-beta02
12 במרץ 2025
androidx.metrics:metrics-performance:1.0.0-beta02 משוחרר. גרסה 1.0.0-beta02 מכילה את ההתחייבויות האלה.
תיקוני באגים
- תיקון קריסות
DelegatingFrameMetricsListener cannot be cast...(Id891c, b/311218678).
גרסה 1.0.0-beta01
10 בינואר 2024
ממשק ה-API והפונקציונליות של הספרייה הזו יציבים כבר זמן מה. בגרסה הזו, הספרייה פשוט עוברת לגרסת בטא.
androidx.metrics:metrics-performance:1.0.0-beta01 משוחרר. גרסה 1.0.0-beta01 מכילה את הקומיטים האלה.
גרסה 1.0.0-alpha04
5 באפריל 2023
בגרסה הזו, JankStats מתעדכן לתיקונים האחרונים, שכוללים מידע מדויק ומקיף יותר על התזמון.
androidx.metrics:metrics-performance:1.0.0-alpha04 משוחרר. גרסה 1.0.0-alpha04 מכילה את הקומיטים האלה.
שינויים ב-API
-
cpuDurationעכשיו יותר מדויק, גםtotalDurationחדש ב-API31 (I59ce8, b/243694893)
גרסה 1.0.0-alpha03
27 ביולי 2022
androidx.metrics:metrics-performance:1.0.0-alpha03 משוחרר. גרסה 1.0.0-alpha03 מכילה את הקומיטים האלה.
הגרסה הזו כוללת שיפורים קלים בממשק ה-API, ככל שהספרייה מתקרבת לגרסת בטא. אחד השינויים ב-API הוא הסרת ה-Executor משיטת היצירה
createAndTrack()של אובייקטJankStats. יש לכך השלכות עלOnFrameListenerהקריאה החוזרת, כי עכשיו הקריאה למאזין מתבצעת בשרשור שמעביר את הנתונים לכל פריים אלJankStats(השרשור הראשי/UI בגרסאות קודמות ל-API 24, והשרשורFrameMetricsב-API 24 ומעלה). בנוסף, האובייקטFrameDataשמועבר למאזין עובר עכשיו שימוש חוזר בכל פריים, ולכן צריך להעתיק את הנתונים מהאובייקט הזה ולשמור אותם במטמון במקום אחר במהלך הקריאה החוזרת, כי האובייקט הזה נחשב למיושן ברגע שהמאזין מחזיר את הנתונים.בנוסף, בוצעו תיקוני באגים שונים, כולל כמה בעיות של פעולות מקבילות.
לבסוף, התיקון לשימוש חוזר ב-
FrameData(שצוין למעלה) אומר שמעכשיו אין הקצאות לכל פריים בגלל מסירת מדדי פריים. בעבר לא היו הרבה הקצאות, אבל הגישה החדשה מאפשרת להשתמש ב-JankStatsבלי שיהיו עלויות תקורה של איסוף אשפה לכל פריים באפליקציה.
שינויים ב-API
- עדכנו את השמות של השיטה והפרמטרים ב-
PerformanceMetricsStateכדי שהתוצאות של הקריאות האלה יהיו ברורות יותר. (I56da5, b/233421985) - הוספנו בדיקות השוואה כדי לעקוב אחרי הקצאות, והסרנו הקצאות פנימיות שקשורות לניהול מצב ולדיווח. שימו לב שהערך
FrameDataשמועבר למאזינים נחשב עכשיו לערך לא יציב. המבנה הזה יעשה בו שימוש חוזר בפריים הבא, והנתונים אמינים רק עד שהמאזין מחזיר ערך. - הוסר Executor מה-constructor עבור
JankStats. עכשיו מתבצעת קריאה ל-listeners בכל thread שבו התקבלו הנתונים הפנימיים. (I12743)
תיקוני באגים
- תוקנה קריסה שנגרמה כתוצאה מהסרה כפולה של
OnFrameMetricsAvailableListener(I44094, b/239457413) - חזרה ללוגיקה המקורית של פרסום הודעות
OnPreDrawListenerבחלק הקדמי של התור, כדי לקבל תזמון מסגרות עקבי וצפוי יותר. (I05a43, b/233358407) - תוקן באג
ConcurrentModificationExceptionשבו רשימת הנציגים של המאזינים השתנתה בזמן שהמערכת חזרה עליה כדי לשלוח נתונים לכל פריים. (Ib7693, b/236612357)
גרסה 1.0.0-alpha02
29 ביוני 2022
androidx.metrics:metrics-performance:1.0.0-alpha02 משוחרר. גרסה 1.0.0-alpha02 מכילה את הקומיטים האלה.
שינויים ב-API
- שונה השם של
MetricsStateHolderל-Holder (בתוךPerformanceMetricsState): (I5a4d9, b/226565716, b/213499234)
תיקוני באגים
- תוקנה בעיה בתזמון שבה מצבים הוחלפו בערכים חדשים לפני שהפריים עובד, כשהמצב הישן היה נכון (aosp/2061892, b/213499234)
- תוקן חריג של שינוי מקביל בהוספה או בהסרה של מאזינים (aosp/2092714, b/213499234)
- שיפור הדיוק של חישובי startTime (aosp/2027704, b/213245198)
- תוקן באג בהטמעה של
FrameData.equals()(aosp/2025866, b/218296544)
גרסה 1.0.0-alpha01
9 בפברואר 2022
androidx.metrics:metrics-performance:1.0.0-alpha01 משוחרר. גרסה 1.0.0-alpha01 מכילה את הקומיטים האלה.
תכונות חדשות
- ספריית
JankStatsמספקת פונקציונליות להטמעה ולקבלת קריאות חוזרות באפליקציה בזמן הריצה, שיכולה לעזור לכם למצוא בעיות בביצועים בעולם האמיתי. -
JankStatsמשלב ממשק API שמקל על הוספת מידע על מצב ממשק המשתמש עם יכולות מעקב ודיווח על הביצועים בכל פריים, כדי לאפשר למפתחים להבין לא רק אם יש בעיות בביצועים של האפליקציה, אלא גם מתי ולמה.