2009-10-20 13 views
8

का निपटान करने का सही तरीका आपको बिटमैप स्रोत का निपटान कैसे करना है?बिटमैप स्रोत

// this wont work because BitmapSource doesnt implement IDisposable 
using(BitmapSource bitmap = new BitmapImage(new Uri("myimage.png"))) 
{ 
} 
+0

[संबंधित] (https://stackoverflow.com/questions/8352787/how-to-free-the-memory-after-the-bitmapimage-is-no-longer-needed) – Goufalite

उत्तर

11

आपको BitmapSource को निपटाना नहीं है()। फ्रेमवर्क में कुछ अन्य "छवि" वर्गों के विपरीत, यह किसी मूल संसाधन को लपेटता नहीं है।

बस इसे दायरे से बाहर जाने दें, और कचरा कलेक्टर इसकी याददाश्त मुक्त कर देगा।

+0

ठीक है। मेरे सहयोगियों ने उल्लेख किया कि डब्ल्यूपीएफ पूरी तरह से डीएक्स त्वरित है और छवियों, आदि वीडियो में संग्रहीत हैं। क्या यह सिर्फ एक कल्पना है? मैं लंबे समय से Winforms प्रोग्रामर हूँ और अब WPF में एक नया मॉड्यूल लिख रहा हूं, इसलिए मुझे लगता है कि मुझे छवियों का निपटान करने की आवश्यकता है। –

+1

ए बिटमैप स्रोत एक छवि नहीं है - इसका उपयोग एक उत्पन्न करने के लिए किया जाता है। हालांकि, यह एक प्रबंधित पिक्सेल भंडारण माध्यम है। भ्रमित करने की तरह, लेकिन यह हमेशा जांच के लायक है। सामान्य रूप से, केवल वर्ग पदानुक्रम को देखें - यदि यह IDISposable लागू नहीं करता है, तो आप इसके बजाय जीसी चिंता करने के लिए स्वतंत्र हैं। :) –

+0

इसके अलावा, अगर यह एक लिखने योग्य बिटमैप है। –

संबंधित मुद्दे