मैं कैनवास टैग का उपयोग कर एचटीएमएल 5 के लिए एक गेम पर काम कर रहा हूं, और मैंने अपनी आवश्यकताओं को पूरा करने के लिए काफी कोड आधार बनाया है। मैं यह भी सुनिश्चित करना चाहता हूं कि मैं अपनी सभी मेमोरी लीक को कवर कर रहा हूं।क्रोम में जावास्क्रिप्ट प्रोफाइलिंग करते समय मुझे कैसे पता चलेगा कि मैंने मेमोरी लीक को संभाला है?
मैं संदेह मैं इसे सही ढंग से कर रहा हूँ क्योंकि मैं प्रतिक्रिया Chrome के कार्य प्रबंधक से हो रही है और उपकरणों की रूपरेखा सुझाने के लिए मेरी सफाई अंत में कोई प्रभाव नहीं हो रही है लगता है।
यहाँ एक छवि है, तो आप देख सकते हैं कि मैं क्या मतलब है:
तो जैसा कि आप देख सकते हैं, एक बार मैं अपने सफाई स्मृति उपयोग करते हैं जमा और ड्रॉप नहीं है। क्या यह एक स्मृति रिसाव है?
जब मैंने प्रोफाइलर में अपना वेबपेज चलाया और सफाई के पहले और बाद में ढेर की जांच की, तो यह मेरी वस्तुओं के सभी संदर्भों को हटाने के लिए प्रतीत होता है (और वे गायब हो जाते हैं) लेकिन मेरा उपयोग केवल 1.3 किलो छोड़कर केवल कुछ किलोबाइट्स से निकलता है सरणी, तार, और अन्य वस्तुओं के पीछे। क्या यह सब पकड़ना असंभव है या क्या कुछ गलत है?
धन्यवाद।
मुझे संदेह है कि आप जिस मुद्दे का वर्णन कर रहे हैं वह स्मृति लीकिंग से असंबंधित है, लेकिन केवल सुरक्षित पक्ष पर रहने के लिए, आप "स्मृति को साफ" कैसे करते हैं? – Khez
@ खेज़ मेरे प्रत्येक ऑब्जेक्ट में एक नष्ट कार्य है और इसमें वे सभी ऑब्जेक्ट्स को शून्य में सेट करते हैं, और वे किसी भी सरणी को खाली करते हैं, किसी भी डोम संदर्भ को उनके माता-पिता से हटा दिया जाता है और शून्य, आदि पर सेट किया जाता है। –
तब मुझे लगता है क्रोम बस बाद में उपयोग के लिए स्मृति को जीवित रखता है। – Khez