2013-10-18 26 views
0

如果一個字符串是不可變的,並且文本框的Text屬性是一個字符串類型,那麼如果我的應用程序對文本框做了很多更改,那麼這不會導致大量的內存泄漏?使用文本屬性會導致內存泄漏嗎?

使用經常更新的文本屬性時,最佳做法是什麼?

+0

你在說什麼語言/平臺? –

+0

對不起。我正在使用C# –

回答

2

(我假設你在談論Java或.NET)

將不是導致大量內存泄漏,如果我的應用程序進行配發更改文本框中

不需要。它可能需要創建多個字符串,但是當它們不再相關時,它們可以被垃圾收集......所以沒有泄漏

你需要是有點注意你生成了多少垃圾,但在UI的情況下,垃圾收集器可能比UI快得多 - 我希望你能得到在GC流失成爲問題之前,用戶界面無法跟上更改的程度。

+0

謝謝你的回答。 使用文本變化很大的最佳做法是使用字符串生成器而不是字符串類。當一個字符串類每次編輯時都會佔用更多的內存時,如何清理垃圾收集器的文本屬性 –

+0

@RuneRafn:不,最好的做法是使用StringBuilder *從許多塊構建字符串* 。這就是它的目的。目前還不清楚「字符串類在每次編輯時都會佔用更多內存」的含義 - 創建了一個新的字符串對象,如果沒有引用舊對象,它就有資格進行垃圾回收。 –