מעברים של מעטפת

ההשקה של מעברים במעטפת איחדה וקבעה את השיטה להפעלת אנימציות במערכת, וכך אפשרה אחזור של מידע מרכזי לגבי האנימציות שמיועדות להפעלה.

המעקב אחר המעבר כולל נתונים על כל מעבר בתוך מעטפת WindowManager (WM), גם משרת המערכת וגם מהמעטפת. ‫Droidfood מפעיל את העקבות האלה באופן קבוע ומשבץ אותם אוטומטית בדוחות על באגים.

מידע נוסף על איסוף נתוני מעקב זמין במאמר מעברים בין מעטפות.

בכלי Transitions viewer של Winscope מוצג המידע הזה לגבי מעקב אחר מעברים שמכיל מידע גם בצד השרת וגם בצד הלקוח. הצופה כולל תצוגת יומן בטבלה בצד ימין, שבה מוצג מידע כללי על המעבר, ותצוגה מפורטת בצד שמאל של כל מעבר:

ניתוח מעקב אחר מעבר בין מעטפות

איור 1. ניתוח של מעקב אחר מעבר בין מעטפות.

תצוגת טבלה

תצוגת הטבלה כוללת:

  • Id: מזהה המעבר שנוצר רק לצורך ניפוי באגים.
  • Type: סוג המעבר, כפי שמוגדר ב-Transitions.java.
  • זמן השליחה: חותמת הזמן של המעבר שנשלח מהשרת למעטפת לטובת טיפול.
  • שעת השליחה: חותמת הזמן שבה המעבר נשלח אל ה-handler כדי להתחיל בהפעלה.
  • משך הזמן: משך הזמן של המעבר מתחילת ההפעלה ועד לסיום.
  • סטטוס: אם המעבר היה:
    • PLAYED:: שיחקת.
    • ABORTED: בוטל לפני ההפעלה. אפשר לבטל מעבר ממצב אחד למצב אחר דרך מעטפת או דרך WM.
    • MERGED: בוצע מיזוג על ידי רכיב ה-handler של המעבר למעבר אחר שכבר פועל (רכיב ה-handler קובע איך לטפל בזה).

תצוגה מפורטת

בנוסף לפרטים בתצוגת הטבלה, התצוגה המפורטת של המעבר בקטע SELECTED TRANSITION כוללת:

  • handler: המטפל במעבר שטיפל באנימציה הזו.
  • createTimeNs: חותמת הזמן שבה נוצר המעבר בצד השרת של WM.
  • finishTimeNs: חותמת הזמן שבה השרת בצד ה-WM מקבל הודעה על כך שהמעבר הסתיים בצד המעטפת.
  • endTransactionId: טרנזקציית SurfaceFlinger הסופית שנכללת במעבר הזה.
  • startTransactionId: הטרנזקציה הראשונית של SurfaceFlinger שכלולה במעבר הזה.
  • targets: רשימת המשתתפים במעבר.
  • type: סוג המעבר, כפי שמוגדר ב-Transitions.java.

יעדים

יעדים הם הרכיבים שמעורבים במעבר, בדרך כלל פעילויות או משימות. לכל יעד נרשמים הפרטים הבאים:

  • layerId: השכבה שמונפשת (מההיררכיה של SurfaceFlinger).
  • mode: סוג האנימציה שמופעל בשכבה הזו.
  • windowId: חלון שמונפש (מההיררכיה של WindowManager).
  • flags: קבוצה חדשה של דגלים שמוחלת על השכבה.