की करीबी विधि मैंने कुछ कोड लिखा है जो XmlDocument
ऑब्जेक्ट का उपयोग करके XML दस्तावेज़ लोड करता है ताकि उसके नोड्स को गिनने के लिए। यहां विधि है:सी #: Xml.Load (फ़ाइल)
XmlDocument xml = new XmlDocument();
xml.Load(textBox1.Text);
XmlNodeList nodes = xml.SelectNodes("//File");
foreach (XmlNode node in nodes)
{
number_of_childs++;
}
मुझे जिस समस्या का सामना करना पड़ रहा है, वह बड़ी फ़ाइल आयात करते समय 700 एमबी रैम की तरह लगता है। यदि मैं फ़ाइल पर कुछ ऑपरेशन करने का प्रयास करता हूं, या ListView
में अपना डेटा प्रदर्शित करने के लिए यहां से पढ़ता हूं, तो एप्लिकेशन 2 जीबी रैम की तरह लगता है। तो, मैं सोच रहा था, क्या ऐसी कोई विधि है जो XmlDocument
को बंद कर देती है और रैम को रिलीज़ करते हुए इसकी याददाश्त को मुक्त करती है। ऐसा लगता है कि यह अपनी सामग्री को स्मृति से हटाना भूल रहा है।
उस जानकारी के लिए धन्यवाद, लेकिन यह काम नहीं किया है, मैंने आपके कोड का टुकड़ा लागू किया है लेकिन यह अभी भी स्मृति की एक ही राशि को आरक्षित करता है। –
@ आर। वेक्टर मेरा संपादन देखें। –
हाँ यह काम करता है, लेकिन ऐप का दूसरा चरण प्रत्येक नोड को पढ़ना और इसे एक सूचीदृश्य में टाइप करना है, इसलिए समस्या अभी भी मौजूद है, लेकिन अगर मैं xml के प्रत्येक नोड को पढ़ सकता हूं और जब यह था कहीं सफलतापूर्वक संग्रहीत <<< स्मृति प्रबंधन के लिए उस तरह से बेहतर होगा। –