一个神奇的文本框内存占用问题。
用Dephi 2010写了个小程序,界面很简单,整个窗体上只有一个文本框,在Vista下面编译运行一切正常,内存占用大概保持在5mb左右。
拿到XP下面跑了一下,看似也挺好,几个小时后,不经意间发现这个小东西的内存占用竟然达到了14mb之巨。顿感奇怪,为什么Vista好好的,拿到XP就不行了呢?你说要使程序复杂点也就罢了,这么个小东西能在什么地方出问题呢?
于是我从很多方面进行了测试,最后锁定了问题的成因,只要在Memo里用微软拼音输入法输入中文,就能看到内存以数百kb的速度往上涨,且涨上去之后就不会下降了。
起初我以为是TMemo控件的问题,但去看了一番源代码,并没有发现特别的地方。于是打开了XP自带的记事本,发现这个问题也存在,只要持续输入中文,内存就一直上涨,但它的涨幅仅仅只是几十kb的级别,且一段时间之后还会自动释放。
我百思不得其解了,谁知道这到底是为什么?应该如何释放那些被占用的内存呢?