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 ट्रेस सक्षम करें।
  4. त्वरित सेटिंग्स खोलें।
  5. अनुरेखण सक्षम करने के लिए Winscope ट्रेस टैप करें।
  6. डिवाइस पर विंडो संक्रमण चलाएँ।
  7. समाप्त करने के बाद, त्वरित सेटिंग खोलें और ट्रेसिंग को अक्षम करने के लिए Winscope Trace पर टैप करें।

ट्रेस को /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 ]
  • अधिकतम बफर आकार (KB में) सेट करें:
    adb shell cmd window tracing size size-value 
  • डंप बफर की स्थिति, लॉग स्तर, शेष क्षमता है, और संख्या तत्वों की:
    adb shell cmd window tracing status

सर्फेसफ्लिंगर के निशान

सर्फेसफिंगर निशान को पकड़ने के लिए:

  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

आप वैकल्पिक रूप से सर्फेसफ्लिंगर निशान के लिए विभिन्न सेटिंग्स के डिफ़ॉल्ट लॉग कॉन्फ़िगरेशन को बदल सकते हैं:

  • अधिकतम बफर आकार (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. एंड्रॉइड स्रोत भंडार से पूर्वनिर्मित कलाकृतियां डाउनलोड करें:
    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 आइकन से चिह्नित हैं।
  • गुण - पदानुक्रम में चयनित प्रविष्टि के लिए राज्य की जानकारी दिखाता है।