2016-09-26 10 views
10

मुझे कोणीय जेएस एप्लिकेशन में मेमोरी रिसाव का सामना करना पड़ रहा है। मैंने प्रोफाइल टूल, टाइमलाइन और कोणीय जेएस से संबंधित कुछ अन्य टूल जैसे सभी संभावित समाधानों का प्रयास किया है। अब तक मेरा काम -कोणीय जेएस अनुप्रयोग में मेमोरी इश्यू

प्रोफाइल उपकरण

प्रोफ़ाइल उपकरण JS ढेर में वृद्धि हुई हो रही पर रखने पर कर सकते हैं इसके लिए कारण खोजने के लिए सक्षम नहीं है। Detached dom element keep on increasing

समय

यह वहाँ मेमोरी लीक की संभावना है, लेकिन अभी भी मैं डिबग और इसे ठीक करने के लिए कैसे पता नहीं है पता चलता है।

enter image description here

कार्य प्रबंधक

यह बढ़ती स्मृति size.Some समय यह कचरा एकत्र हो रही है नहीं लेकिन बहुत कम पर रहते हैं। enter image description here

कृपया मुझे पता डिबग और यह पता लगाना क्या issue.Or हो सकता है अपने अनुभव को साझा करता है, तो आप एक ही मुद्दा सामना करना पड़ा है करने के लिए कैसे करते हैं।

+1

क्या आप संबंधित कोड पोस्ट कर सकते हैं? या किसी भी plunker wud महान हो! इसके साथ ही आप टाइमलाइन प्रोफाइलिंग कर सकते हैं और ईवेंट ट्री लॉग का विस्तार कर सकते हैं और जांच सकते हैं कि कौन सा फ़ंक्शन मेमोरी खा रहा है –

+0

@ Angular_10 ने जो कहा है उसके अलावा, आप यह भी देखने के लिए बटरंग जैसे टूल को आजमा सकते हैं कि यह मेमोरी लीक होने पर क्या चर शामिल हैं । यह AngularJS – nikjohn

+0

में वास्तव में वास्तव में आम है जो कम $ स्कोप के रूप में उपयोग करने का प्रयास करें। $ लागू() जितना संभव हो। – kingtut007

उत्तर

1

अंगुलरजेएस में कई बाइंडिंग होने पर मेमोरी लीक होती है। अब कोणीय जेएस की सीमा यह है कि इसमें 2-तरफा बाध्यकारी है। इसलिए, यदि आप मॉडल में कोई मान बदलते हैं, तो देखें कि $ diget(), $ watch() लूप ट्रिगर करता है। तो, इस पर निर्भर करता है कि आपका आवेदन कितना बड़ा है, यह स्मृति का उपभोग करता है।

  • गणना कोणीय स्कोप वस्तुओं मुक्त स्मृति को कोणीय Batarang
  • कार्यक्षेत्र $ नष्ट() विधि का उपयोग कर
  • कोशिश अपने जे एस पेज में खपत कम करने के लिए:

    मैं कदम की जोड़ी की कोशिश करने का सुझाव देते हैं। जो भी आवश्यक है

मेरे आवेदन में मैंने दर्शक को कम किया और जीवन आसान था।