假設我有一個很大的Image
對象,如果我調用此對象的Dispose()
方法,我可以很容易地看到我的應用程序的內存消耗減少了,因爲我只是從內存中清除了對象。如果我有我自己的類型/類,並且想要處理它的一個實例,比方說,它包含一個byte[]
數組(我認爲它與內部類Image
類似)。我將如何去執行IDisposable
,所以當Dispose()
被稱爲byte[]
立即從內存中丟棄。沒有我不得不等待GC
?如何使用Dispose()方法處理某些類型的圖像
如果是string
而不是byte[]
會怎麼樣?
如果你想知道在調用Dispose方法時你是否可以像這樣((IDisposable)someObject),那麼你不能只聲明你的Class就像'class SomeClass:IDisposable'一樣。 ()';通常如果它實現IDisposable它將正確處置通常你可以確定,即使在設計/編譯時,因爲如果它不會,你會得到一個錯誤 – MethodMan
是的,我可以。但是我應該在Dispose()裏面放置什麼內容才能立即處理我的變量的內容,就像'Image'類一樣? –
對於不執行'IDisposable'的項目,如果你沒有調用'GC',那麼將Object的'value =設置爲null',你也可以用'using(){}'語句包裝代碼 – MethodMan