Google is committed to advancing racial equity for Black communities. See how.
ترجمت واجهة Cloud Translation API‏ هذه الصفحة.
Switch to English

تتبع انتقالات النافذة

يوفر WinScope البنية الأساسية والأدوات لتسجيل وتحليل حالات WindowManager و SurfaceFlinger أثناء انتقالات النافذة وبعدها. يسجل WinScope جميع حالات خدمة النظام ذات الصلة إلى ملف التتبع ، والذي يمكنك استخدامه لإعادة التشغيل والانتقال.

التقاط آثار

آثار خلال الاستيلاء على إعدادات خيارات أو adb على أجهزة تعمل بنظام التشغيل userdebug أو المهندس يبني.

الإعدادات السريعة

لالتقاط آثار من الإعدادات السريعة :

  1. تمكين خيارات المطورين .
  2. انتقل إلى خيارات المطور > مربعات مطور الإعدادات السريعة .
  3. تمكين تتبع WinScope .
  4. افتح الإعدادات السريعة .
  5. انقر فوق Winscope Trace لتمكين التتبع.
  6. تشغيل انتقالات النافذة على الجهاز.
  7. بعد الانتهاء ، افتح الإعدادات السريعة وانقر على Winscope Trace لتعطيل التتبع.

تتم كتابة /data/misc/wmtrace/wm_trace.pb على /data/misc/wmtrace/wm_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 ]
  • تعيين الحد الأقصى لحجم المخزن المؤقت (بالكيلوبايت):
    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:

  • تعيين الحد الأقصى لحجم المخزن المؤقت (بالكيلوبايت):
    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 ، قم بتشغيل الأوامر التالية.

مدير النافذة

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
  • الخط الزمني - يعرض تسلسل الأحداث في التتبع. استخدم مفاتيح الأسهم أو انقر فوق كل إدخال للتنقل عبر المخطط الزمني.
  • الشاشة - توفر تمثيلاً مرئيًا لكل نافذة مرئية على الشاشة. انقر فوق نافذة لتحديد النافذة المصدر في التسلسل الهرمي.
  • التسلسل الهرمي - يمثل كل نافذة معروفة للنظام. لا تحتوي بعض النوافذ على مخازن مؤقتة ، ولكنها موجودة لتعيين السياسات الخاصة بالأطفال في النافذة. يتم تمييز النوافذ المرئية برمز V
  • خصائص - لإظهار معلومات الحالة للإدخال المحدد في التسلسل الهرمي.