अप्रबंधित वस्तुओं के लिए Add/RemoveMemoryPressure का उपयोग करने का सही तरीका क्या है? मेरे पास एक अप्रबंधित वस्तु है- लेकिन इसका भारी उपयोग होता है, उदाहरण के लिए, एसटीएल कंटेनर। क्या मैं लगातार प्रबंधित जीसी को अप्रबंधित ऑब्जेक्ट के कुल आकार में प्रत्येक परिवर्तन के साथ अपडेट करना चाहता हूं? या सिर्फ यह कच्चा आवंटन आकार है? और जब मैं RemoveMemoryPressure कहूं? Finalizer? निपटान()?अप्रबंधित वस्तुओं के लिए GC.AddMemoryPressure
उत्तर
(और @Wim Coenen द्वारा नोट):
सरल उपयोग पैटर्न में, एक प्रबंधित वस्तु निर्माता में अप्रबंधित स्मृति और निपटान में रिलीज यह या विधि को अंतिम रूप आवंटित करता है। अप्रबंधित स्मृति, आवंटित करने के बाद AddMemoryPressure विधि पर कॉल करें और इसे रिलीज़ करने के बाद RemoveMemoryPressure विधि को कॉल करें।
अधिक जटिल स्थितियों में, जहां अप्रबंधित स्मृति आवंटन परिवर्तन काफी हद तक कामयाब वस्तु की जीवनकाल के दौरान, आप क्रम करने के लिए इन वृद्धिशील परिवर्तन संवाद करने के लिए AddMemoryPressure और RemoveMemoryPressure तरीकों कॉल कर सकते हैं ।
तो आपको यह तय करना होगा कि इन परिवर्तनों को ट्रैक करने में कितना प्रयास करना है और आपको कितना लाभ मिलेगा।
हां - मैंने सभी ऑब्जेक्ट्स के मास्टर ऑब्जेक्ट को सूचित करने के लिए मूल ऑब्जेक्ट्स के लिए डिफ़ॉल्ट आवंटक को बदल दिया, फिर प्रबंधित कोड में एक डिस्प्ले() ऑब्जेक्ट का उपयोग करके सभी प्रबंधित विधियों में परिवर्तनों के जीसी को स्वचालित रूप से अपडेट किया। – Puppy
- 1. एक अप्रबंधित संसाधन के साथ GC.AddMemoryPressure का उपयोग कर की बात क्या है?
- 2. GC.AddMemoryPressure() के साथ OutOfMemoryException को रोकना?
- 3. अप्रबंधित
- 4. .NET - अप्रबंधित ऐरे से अप्रबंधित ऐरे
- 5. अप्रबंधित कोड
- 6. अप्रबंधित कोड
- 7. अप्रबंधित कोड
- 8. अप्रबंधित कोड
- 9. अप्रबंधित सी ++
- 10. अप्रबंधित DLL
- 11. अप्रबंधित कोड
- 12. वस्तुओं के लिए मोंगोडीबी संबंध
- 13. अपरिवर्तनीय वस्तुओं के लिए मौजूदा वस्तुओं का पुन: उपयोग करें?
- 14. वस्तुओं के लिए कोई फायदा। GetObject (i) वस्तुओं पर [i]?
- 15. अप्रबंधित सी ++ कोड
- 16. DLLImport अप्रबंधित DLL के लिए कहां देखता है?
- 17. एक अप्रबंधित प्रतिनिधि के लिए कचरा संग्रहण रोकना
- 18. अप्रबंधित सी ++ क्लाइंट्स के लिए डब्ल्यूसीएफ सेवा बनाएं
- 19. ऐप बिलिंग में उत्पाद के लिए प्रबंधित और अप्रबंधित राज्य
- 20. अप्रबंधित सी ++ कोड
- 21. अप्रबंधित मेमोरी लीक
- 22. पास बहु - अप्रबंधित कोड
- 23. ओपनसीवी अप्रबंधित DLLs asp.net
- 24. ऑटोमॉयरिंग अप्रबंधित बीन्स @ कॉम्पोनेंट
- 25. अप्रबंधित C++ .dll
- 26. अप्रबंधित सी ++ डीएलएल
- 27. प्रबंधित और अप्रबंधित इन-ऐप उत्पाद एंड्रॉइड के बीच अंतर?
- 28. अप्रबंधित कॉलबैक के कारण स्टैक ओवरफ्लो
- 29. संग्रहीत वस्तुओं के लिए पिरामिड प्रमाणीकरण
- 30. क्या खो स्ट्रिंग के लिए होता वस्तुओं
कचरा कलेक्टर आप अप्रबंधित वस्तुओं को इकट्ठा करने की अपेक्षा कैसे करते हैं? – dtb
@dtb: [GC.AddMemoryPressure] (http://msdn.microsoft.com/en-us/library/system.gc.addmemorypressure.aspx) रनटाइम को बताता है कि एक प्रबंधित ऑब्जेक्ट है जो आवंटित स्मृति के एक्स बाइट्स को आवंटित करता है (उदाहरण के लिए एक COM ऑब्जेक्ट का संदर्भ रखते हुए)। इसके बाद यह कचरा कलेक्टर को मृत वस्तुओं की तलाश करने और प्रक्रिया में अप्रबंधित स्मृति को मुक्त करने, अपने अंतिमकरण को चलाने के लिए प्रोत्साहित कर सकता है। –
@ डीटीबी: उस प्रबंधित ऑब्जेक्ट को एकत्र करके जो इसका मालिक है। – Puppy