2013-10-18 29 views
0

如果一个字符串是不可变的,并且文本框的Text属性是一个字符串类型,那么如果我的应用程序对文本框做了很多更改,那么这不会导致大量的内存泄漏?使用文本属性会导致内存泄漏吗?

使用经常更新的文本属性时,最佳做法是什么?

+0

你在说什么语言/平台? –

+0

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

回答

2

(我假设你在谈论Java或.NET)

将不是导致大量内存泄漏,如果我的应用程序进行配发更改文本框中

不需要。它可能需要创建多个字符串,但是当它们不再相关时,它们可以被垃圾收集......所以没有泄漏

你需要是有点注意你生成了多少垃圾,但在UI的情况下,垃圾收集器可能比UI快得多 - 我希望你能得到在GC流失成为问题之前,用户界面无法跟上更改的程度。

+0

谢谢你的回答。 使用文本变化很大的最佳做法是使用字符串生成器而不是字符串类。当一个字符串类每次编辑时都会占用更多的内存时,如何清理垃圾收集器的文本属性 –

+0

@RuneRafn:不,最好的做法是使用StringBuilder *从许多块构建字符串* 。这就是它的目的。目前还不清楚“字符串类在每次编辑时都会占用更多内存”的含义 - 创建了一个新的字符串对象,如果没有引用旧对象,它就有资格进行垃圾回收。 –