google chrome क्रोम के ढेर प्रोफाइलर में ऑब्जेक्ट के शीर्षक पर पीले रंग का क्या मतलब है?



google-chrome heap (1)

Chrome डेवलपर उपकरण में हेप प्रोफाइलर के आसपास मेरे सिर को प्राप्त करने की कोशिश कर रहा है मैं स्नैपशॉट में कई पहुंच योग्य वस्तुओं को देखता हूं, उनमें से कुछ को पीले रंग की पृष्ठभूमि और कुछ नहीं है। इसका क्या मतलब है? क्या फर्क पड़ता है?

रंग किंवदंती इस मामले में बिल्कुल सहायक नहीं है, क्योंकि इसकी एक पीले रंग की पृष्ठभूमि (wtf) है


ठीक है, पीले रंग की पृष्ठभूमि का अर्थ है कि उस वस्तु के पास जावास्क्रिप्ट है, जिस पर जावास्क्रिप्ट है, या ऐसा कहने के लिए जावास्क्रिप्ट से पहुँचा जा सकता है, जबकि कोई भी पृष्ठभूमि (या सफेद) के साथ वस्तु जावास्क्रिप्ट से सुलभ नहीं है, पर अभी तक पहुंचा जा सकता है ग्राफ की जड़ से

सबसे दिलचस्प हालांकि लाल पृष्ठभूमि के साथ एक वस्तु लगता है लाल पृष्ठभूमि का मतलब है कि जिस ऑब्जेक्ट के पास है वह अलग DOM वृक्ष का हिस्सा है। तो यह मूल रूप से एक डोम तत्व है जो रूट नोड से पहुंच नहीं है, लेकिन किसी अन्य ऑब्जेक्ट द्वारा संदर्भित किया जाता है कि उस पर बारी से जावास्क्रिप्ट (जो कि पीले रंग की पृष्ठभूमि है) से पहुंचा जा सकता है।

Addy ओस्मानी द्वारा महान लिखने से लघु उद्धरण:

क्यू: मैंने ढेर स्नैपशॉट में कई डोम नोड्स देखे हैं जहां कुछ लाल रंग में हाइलाइट किए गए हैं और "अलग डोम ट्री" के रूप में दर्शाया गया है जबकि अन्य पीले होते हैं। इसका क्या मतलब है?

आप कुछ अलग रंग के नोड्स देखेंगे। रेड नोड्स का उनके पास जावास्क्रिप्ट का सीधा संदर्भ नहीं है, लेकिन वे जीवित हैं क्योंकि वे एक अलग डोम ट्री का हिस्सा हैं। जावास्क्रिप्ट (संभवतः बंद या चर के रूप में) से संदर्भित पेड़ में एक नोड हो सकता है, लेकिन संयोग से पूरे डॉम ट्री को कूड़ा एकत्रित करने से रोकना पड़ता है।

येलो नोड्स के पास जावास्क्रिप्ट के सीधे संदर्भ हैं अपने जावास्क्रिप्ट से संदर्भों का पता लगाने के लिए एक ही अलग डोम ट्री में पीले नोड्स खोजें। वहाँ DOM विंडो से तत्व के लिए गुण की एक श्रृंखला होनी चाहिए (उदाहरण के लिए window.foo.bar [2] .baz )।





heap-profiling