מדדים
העדכון האחרון | גרסה יציבה | גרסה מועמדת להפצה | גרסת בטא | גרסת אלפא |
---|---|---|---|---|
12 במרץ 2025 | - | - | 1.0.0-beta02 | - |
הצהרת יחסי תלות
כדי להוסיף תלות ב-Metrics, צריך להוסיף את מאגר Google Maven לפרויקט. מידע נוסף זמין במאגר Maven של Google.
מוסיפים את יחסי התלות של הארטיפקטים הנדרשים בקובץ build.gradle
של האפליקציה או המודול:
מגניב
dependencies { implementation "androidx.metrics:metrics-performance:1.0.0-beta02" }
Kotlin
dependencies { implementation("androidx.metrics:metrics-performance:1.0.0-beta02") }
מידע נוסף על יחסי תלות זמין במאמר הוספת יחסי תלות ל-build.
משוב
המשוב שלכם עוזר לנו לשפר את Jetpack. אם נתקלתם בבעיות חדשות או שיש לכם רעיונות לשיפור הספרייה הזו, נשמח לשמוע מכם. לפני שיוצרים בעיה חדשה, כדאי לעיין בבעיות הקיימות בספרייה הזו. כדי להצביע על בעיה קיימת, לוחצים על לחצן הכוכב.
מידע נוסף זמין במסמכי התיעוד של Issue Tracker.
גרסה 1.0.0
גרסה 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 מ-method המפעל
createAndTrack()
ליצירת אובייקטJankStats
. לכך יש השלכות על קריאת החזרה (callback) שלOnFrameListener
, כי מעכשיו הקריאה למאזין מתבצעת בשרשור שמעביר את הנתונים לכל פריים אלJankStats
(השרשור Main/UI בגרסאות ישנות יותר מ-API 24, והשרשורFrameMetrics
בגרסאות API 24 ואילך). בנוסף, אובייקטFrameData
שמוענק למאזין משמש עכשיו שוב בכל פריים, כך שצריך להעתיק את הנתונים מהאובייקט הזה ולשמור אותם במטמון במקום אחר במהלך קריאת החזרה, כי צריך להתייחס לאובייקט הזה כאל לא רלוונטי ברגע שהמאזין חוזר.תיקנו גם כמה באגים, כולל כמה בעיות של בו-זמניות.
לבסוף, התיקון לשימוש חוזר ב-
FrameData
(שצוין למעלה) מאפשר עכשיו אפס הקצאות לכל פריים בגלל העברת מדדי פריים. בעבר לא היו הרבה הקצאות, אבל הגישה החדשה מאפשרת להשתמש ב-JankStats
בלי להגדיל את זמן האחזור של GC בכל פריים באפליקציה.
שינויים ב-API
- עדכנו את השמות של השיטות והפרמטרים ב-
PerformanceMetricsState
כדי שהתוצאות של הקריאות האלה יהיו ברורות יותר. (I56da5, b/233421985) - הוספנו בדיקות למדדי השוואה כדי לעקוב אחרי ההקצאות, והסרנו הקצאות פנימיות מסוימות שקשורות לניהול המצב ולדיווח. שימו לב ש-
FrameData
שמועברים למאזינים נחשבים עכשיו לתנודתיים. המבנה הזה ישמש שוב לפריים הבא, והנתונים מהימנים רק עד שהמאזין חוזר. - הוסרה פונקציית ה-Executor מה-constructor של
JankStats
. מעכשיו, קוראים למאזינים בכל שרשרת שבה התקבלו הנתונים הפנימיים. (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
מספקת פונקציונליות לכלי למדידת ביצועים ולקבלת קריאות חזרה (callbacks) באפליקציה בזמן הריצה, שיכולות לעזור לכם למצוא בעיות בביצועים בעולם האמיתי. JankStats
משלבת ממשק API שמאפשר להחדיר בקלות מידע על מצב ממשק המשתמש, עם יכולות למעקב ולדיווח על ביצועים בכל פריים. כך המפתחים יכולים להבין לא רק אם יש לאפליקציה בעיות בביצועים, אלא גם מתי ולמה.