मैं अपने डब्ल्यूपीएफ आवेदन में कुछ मेमोरी लीक को हल कर रहा हूं। ऐसा करने के लिए, मैंने सीएलआर प्रोफाइलर का उपयोग किया, साथ ही साथ विंडोज टास्क मैनेजर में प्रोसेस आंकड़े देखे। मेरा मूल परीक्षण यह सुनिश्चित करना था कि जब एक निश्चित विंडो बंद हो गई, तो यह अभी भी स्मृति में चारों ओर लटका नहीं था।क्या मुझे कभी भी अपने डब्ल्यूपीएफ ऐप में कचरा संग्रह को मजबूर करना चाहिए?
मैं विंडोज़ विकास के लिए थोड़ा नया हूं, और पहले मैं उलझन में था क्योंकि एक साधारण परीक्षण आवेदन में, ऐसा लगता था कि कोई फर्क नहीं पड़ता कि मेरी खिड़कियां हमेशा बंद होने के बाद स्मृति में रह रही थीं। लेकिन मैंने अंततः काम किया कि इसका मतलब यह नहीं था कि स्मृति रिसाव था, लेकिन बस इतना है कि वे अभी तक कचरा नहीं मिला था। तो मुझे अपनी मुख्य खिड़की में एक बटन हैंडलर तक लगाया गया था जिसमें मैन्युअल रूप से कचरा संग्रह को मजबूर करने के लिए कोड शामिल था। मैन्युअल रूप से कचरा इकट्ठा करके, मैं अपने मेमोरी लीक परीक्षणों को पूरा कर सकता था, और मुझे यह सब हल हो गया।
लेकिन मुझे यह सोचने लगा - क्या कभी कचरा संग्रह को मैन्युअल रूप से मजबूर करने की आवश्यकता है?
यह मुझे अपने एप्लिकेशन की मेमोरी खपत को ऊपर और ऊपर देखने के लिए परेशान करता है क्योंकि मैं विंडोज़ खोलता हूं और बंद करता हूं। बेशक, अंत में, कचरा संग्रह स्वचालित रूप से चलता है और यह सब हल हो जाता है। लेकिन ये भारी खिड़कियां बंद होने के बाद मैन्युअल रूप से कचरा इकट्ठा करने के लिए एक अच्छा विचार लगता है। लेकिन क्या कोई बात है? मुझे लगता है कि एक तरफ परीक्षण करना, हमें कचरा संग्रह को मजबूर नहीं करना चाहिए - बस सिस्टम को इसे हल करने दें।
विचारों की सराहना की।
+1 के लिए 'अगर कोई स्मृति रिसाव है, यहां तक कि फोन करने जबरन जीसी मदद नहीं करता है "। यह एक बहुत अच्छा मुद्दा है ... लीक ऑब्जेक्ट कचरा संग्रह के लिए उम्मीदवार नहीं हैं। – NateTheGreat