מדדים

  
מעקב אחרי מדדי זמן ריצה שונים של האפליקציה ודיווח עליהם
העדכון האחרון גרסה יציבה גרסה מועמדת להפצה גרסת בטא גרסת אלפא
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 שמאפשר להחדיר בקלות מידע על מצב ממשק המשתמש, עם יכולות למעקב ולדיווח על ביצועים בכל פריים. כך המפתחים יכולים להבין לא רק אם יש לאפליקציה בעיות בביצועים, אלא גם מתי ולמה.