चिंता करना कब शुरू करना चाहिए, इसलिए मेरे पास कोणीय, घोंसला वाले राज्यों, बहुत सारे निर्देश, डेटा टेबल और सामान पर निर्मित यह बड़ा अनुप्रयोग है।Angular.js मेमोरी लीक, मुझे
हमने हाल ही में कुछ छोटे एकल ऐप्स अनुभागों (लेख, लोग, डैशबोर्ड प्रत्येक एक छोटे से सिंगल पेज ऐप थे) के बजाय पूर्ण एकल पृष्ठ पर स्विच करने का निर्णय लिया है, इसलिए मैंने प्रदर्शन के साथ थोड़ा और व्यवहार करना शुरू कर दिया। क्रोम में आप दूसरी तरफ फ़ायरफ़ॉक्स पर किसी चीज़ को नजरअंदाज नहीं करते हैं, मुझे लगता है कि यह समय के साथ धीमा हो जाता है।
तो मैंने यह देखने के लिए तीन स्नैपशॉट तकनीक के साथ शुरुआत की। लेकिन मुझे पूरी तरह से यकीन नहीं है कि इसे क्या बनाना है।
- स्नैपशॉट आकार इसके आकार प्रत्येक स्नैपशॉट लिया (1 15mb, 2 67mb, 3 120mb) दोगुना हो जाता है, यह कुछ भी मतलब है?
- वहाँ लाल डोम, उदाहरण के
अब के लिए लाल divs मुझे लगता है कि उन लाल divs, फैला और एंकर मुख्य रूप से मेरी गलती कर रहे हैं की 4000 की एक बहुत कुछ है, मैं करने के लिए कुछ नहीं-तो-सामान्य सामान कर रहा हूँ मैंने जो निर्देश दिया है, उसका उपयोग करके उन डेटा तालिकाओं को प्रस्तुत करें, और मुझे यह भी लगता है कि कुछ ढेर ऑब्जेक्ट्स उन डोम तत्वों का परिणाम हैं जिन्हें ठीक से हटाया नहीं जा रहा है।
यह वही तालिका निर्देश अनिवार्य रूप से करता है
var rows = '<div class="row" ng-repeat="item in items">';
_.each(columns, function(column) {
// pass cell as a string from $templateCache, instead of having <table-cell type="column.type"> which loaded correct templateUrl depending on what was passed via type attr
var cellTemplate = $templateCache.get(column.type);
rows += '<div class="column">' + cellTemplate + '</div>';
});
rows += '</div>';
// el is from directive link function
el.html(rows);
$compile(el.contents())(scope);
कारण कारण है कि मैं इस सब पर कर रहा हूँ है क्योंकि जब मैं पंक्तियों और स्तंभों और कोशिकाओं के लिए <table-cell>
निर्देश के लिए ng-repeat
नेस्ट का उपयोग करने की कोशिश की है, यह रास्ता ले लिया है प्रस्तुत करने में बहुत लंबा, यहां तक कि केवल 6 कॉलम और 50 पंक्तियों के साथ।
तो मुझे लगता है कि यह हो रहा है कि इस तालिका के अंदर उन divs में से कोई भी सही ढंग से हटा दिया जाता है ताकि वे इस तालिका निर्देश भार को हर बार ढेर रख सकें।
अब भी अगर मैं उस अलग डोम पेड़ से निपटता हूं .. अन्य सभी चीजों के बारे में क्या, मुझे कैसे पता चलेगा कि मुझे किस कोशिश करनी चाहिए और इससे निपटना चाहिए, और जो कोणीय के लिए सामान्य हैं और वास्तव में प्रदर्शन को प्रभावित नहीं करते हैं? plunker http://plnkr.co/edit/1fZi6mVn2jBIGF0Q2a40?p=preview
किसी भी संदर्भ के बिना हम अंधेरे से एक फिक्स की सिफारिश नहीं कर सकते हैं। एक स्क्रीनशॉट यह नहीं बताता कि वास्तव में क्या चल रहा है। क्या आप कुछ प्रासंगिक कोड पोस्ट कर सकते हैं? – Nix
प्रश्न संपादित किया गया, बात यह है कि, मुझे पूरी तरह से यकीन नहीं है कि कोड का यह टुकड़ा यह कारण है .. – foxx
इसे निर्देश क्यों होना चाहिए?क्या आप दिखा सकते हैं कि आप इसका उपयोग कहां करते हैं? – Nix