Google is committed to advancing racial equity for Black communities. See how.
This page was translated by the Cloud Translation API.
Switch to English

ردیابی انتقال از پنجره

WinScope زیرساخت ها و ابزارهایی را برای ضبط و تجزیه و تحلیل ایالات WindowManager و SurfaceFlinger در حین و بعد از انتقال پنجره فراهم می کند. WinScope تمام حالات مربوط به سرویس سیستم را در یک پرونده ردیابی ثبت می کند ، که می توانید از آنها برای پخش مجدد و گذر از انتقال استفاده کنید.

ضبط آثار

عکس هایی را از طریق تنظیمات سریع یا adb در دستگاههایی که کاربری کاربرانی را ایجاد می کنند و یا ساختهای داخلی انجام دهید ، ضبط کنید .

تنظیمات سریع

برای گرفتن اثری از تنظیمات سریع :

  1. گزینه های توسعه دهنده را فعال کنید .
  2. به گزینه های توسعه دهنده > کاشی برنامه نویس تنظیمات سریع بروید .
  3. WinScope Trace را فعال کنید.
  4. تنظیمات سریع را باز کنید .
  5. برای فعال کردن ردیابی روی Winscope Trace ضربه بزنید.
  6. انتقال پنجره را بر روی دستگاه اجرا کنید.
  7. پس از اتمام ، تنظیمات سریع را باز کرده و روی Winscope Trace ضربه بزنید تا ردیابی را غیرفعال کنید.

ردپاها به /data/misc/wmtrace/wm_trace.pb و /data/misc/wmtrace/layers_trace.pb نوشته شده /data/misc/wmtrace/layers_trace.pb . آثار در گزارش اشکال نیز درج شده است.

adb

هنگام ضبط آثار از طریق adb ، آثار WindowManager و SurfaceFlinger را به طور جداگانه ضبط کنید.

ردپای WindowManager

برای ضبط آثار WindowManager:

  1. فعال کردن اثری:
    adb shell cmd window tracing start
  2. غیرفعال کردن اثری:
    adb shell cmd window tracing stop
  3. فایل ردیابی را بگیرید:
    adb pull /data/misc/wmtrace/wm_trace.pb wm_trace.pb

می توانید تنظیمات ورود پیش فرض تنظیمات مختلف برای آثار WindowManager را به صورت اختیاری تغییر دهید:

  • فرکانس گزارش (برای معامله یا فریم) را تنظیم کنید:
    adb shell cmd window tracing [ frame  |  transaction ]
  • سطح شفافیت را برای ورود به سیستم پیکربندی کنید:
    adb shell cmd window tracing level [ all  |  trim  |  critical ]
  • حداکثر اندازه بافر (به KB) تنظیم کنید:
    adb shell cmd window tracing size size-value 
  • وضعیت بافر ، سطح ورود به سیستم ، ظرفیت باقی مانده و تعداد عناصر را رها کنید:
    adb shell cmd window tracing status

ردپای SurfaceFlinger

برای ضبط آثار SurfaceFlinger:

  1. فعال کردن اثری:
    adb shell su root service call SurfaceFlinger 1025 i32 1
  2. غیرفعال کردن اثری:
    adb shell su root service call SurfaceFlinger 1025 i32 0
  3. فایل ردیابی را بگیرید:
    adb pull /data/misc/wmtrace/layers_trace.pb layers_trace.pb

می توانید تنظیمات ورود پیش فرض تنظیمات مختلف برای موارد SurfaceFlinger را به صورت اختیاری تغییر دهید:

  • حداکثر اندازه بافر (به KB) تنظیم کنید:
    adb shell su root service call SurfaceFlinger 1029 i32 size-value 
  • سطح شفافیت را برای ورود به سیستم پیکربندی کنید:
    adb shell su root service call SurfaceFlinger 1033 i32 flags 

ایجاد زباله های ایالتی

WinScope گزارش تصویری از حالت های WindowManager و SurfaceFlinger را می خواند. گزارشات اشکال ، ایالتها را به صورت فایلهای جداگانه در داخل پوشه proto . برای تولید زباله های حالت با استفاده از adb ، دستورات زیر را اجرا کنید.

WindowManager

adb exec-out dumpsys window --proto > window_dump.pb

SurfaceFlinger

adb exec-out dumpsys SurfaceFlinger --proto > sf_dump.pb

تجزیه و تحلیل ردپاها

برای تجزیه و تحلیل یک فایل ردیابی ، از برنامه وب WinScope استفاده کنید. برنامه را از منبع تهیه کرده یا آن را از فهرست پیش ساخته باز کنید.

  1. آثار باستانی ساخته شده از مخزن منبع Android را بارگیری کنید:
    curl 'https://android.googlesource.com/platform/prebuilts/misc/+/master/common/winscope/winscope.html?format=TEXT' | base64 -d > winscope.html
  2. آثار باستانی بارگیری شده را در یک مرورگر وب باز کنید.
  3. پس از باز شدن WinScope ، OPEN FILE را انتخاب کنید تا یک فایل ردیابی بارگیری شود.

با استفاده از WinScope

پس از باز کردن یک فایل ردیابی در WinScope ، می توانید ردیابی را از چند طریق تجزیه و تحلیل کنید.

تصویر WinScope
شکل 1. تجزیه و تحلیل اثری در WinScope
  • Timeline - دنباله وقایع موجود در اثرا را نشان می دهد. از کلیدهای جهت دار استفاده کنید یا روی هر ورودی کلیک کنید تا از طریق جدول زمانی حرکت کنید.
  • صفحه - نمایش بصری از هر پنجره قابل مشاهده در صفحه را نشان می دهد. برای انتخاب پنجره منبع در سلسله مراتب روی یک پنجره کلیک کنید.
  • سلسله مراتب - هر پنجره ای را که برای سیستم شناخته شده است نشان می دهد. برخی از ویندوزها حاوی بافر نیستند ، اما برای تنظیم خط مشی روی کودکان در پنجره وجود دارد. پنجره های قابل مشاهده با نماد V مشخص شده اند.
  • ویژگی ها - اطلاعات حالت را برای ورودی انتخاب شده در سلسله مراتب نشان می دهد.