मुझे कोड स्निपेट न देने के लिए माफ़ी मांगना शुरू करें। जिस परियोजना पर मैं काम कर रहा हूं वह स्वामित्व है और मुझे डर है कि मैं बिल्कुल जो मैं काम कर रहा हूं, दिखा नहीं सकता। हालांकि, मैं वर्णनात्मक होने के लिए अपनी पूरी कोशिश करूंगा।jQuery को खाली करना() या प्रतिस्थापित करें() फ़ंक्शन जब बड़े डोम तत्वों के साथ काम करते हैं
यहाँ अपने आवेदन में पर चला जाता है के टूटने है:
- उपयोगकर्ता एक बटन क्लिक करता है
- सर्वर एक डेटा-तालिका के रूप में चित्रों की सूची को पुन: प्राप्त
- तालिका की प्रत्येक पंक्ति 8 डेटा-कोशिकाओं है कि बदले में हर एक हाइपरलिंक
- उपयोगकर्ता द्वारा प्रत्येक अनुरोध अधिकतम 50 पंक्तियां हो सकते हैं शामिल हैं (मैं इस नंबर बदल सकते हैं यदि आवश्यकता हुई)
- इसका मतलब है कि तालिका 800 व्यक्तिगत डीओएम तत्वों के ऊपर है
- मेरा विश्लेषण दिखाता है कि
jQuery("#dataTable").empty()
औरjQuery("#dataTable).replaceWith(tableCloneObject)
मेरे समग्र प्रसंस्करण समय का 9 7% लेते हैं और इसे पूरा करने के लिए औसतन 4-6 सेकंड लेते हैं।/प्रतिस्थापित
मैं उपर्युक्त jQuery कार्यों जब बड़े पैमाने पर डोम तत्वों को हटाया जा करने की जरूरत है के साथ काम कर के दोनों तेजी लाने के लिए एक रास्ता तलाश कर रहा हूँ। मुझे उम्मीद है कि मेरी व्याख्या मदद करता है।
यह काम किया। मैं संभावित मेमोरी लीक के बारे में और अधिक काम करूँगा लेकिन यह पूरी तरह से चीजों को बढ़ा देता है। आप सभी को धन्यवाद! –
पहला तरीका काम करता था, दूसरा नहीं, जो अभी भी मुझे बड़ी टेबल (50k पंक्तियों) पर एक ढेर ओवरफ्लो देता है। – Nico