一个神奇的文本框内存占用问题。
用Dephi 2010写了个小程序,界面很简单,整个窗体上只有一个文本框,在Vista下面编译运行一切正常,内存占用大概保持在5mb左右。
拿到XP下面跑了一下,看似也挺好,几个小时后,不经意间发现这个小东西的内存占用竟然达到了14mb之巨。顿感奇怪,为什么Vista好好的,拿到XP就不行了呢?你说要使程序复杂点也就罢了,这么个小东西能在什么地方出问题呢?
于是我从很多方面进行了测试,最后锁定了问题的成因,只要在Memo里用微软拼音输入法输入中文,就能看到内存以数百kb的速度往上涨,且涨上去之后就不会下降了。
起初我以为是TMemo控件的问题,但去看了一番源代码,并没有发现特别的地方。于是打开了XP自带的记事本,发现这个问题也存在,只要持续输入中文,内存就一直上涨,但它的涨幅仅仅只是几十kb的级别,且一段时间之后还会自动释放。
我百思不得其解了,谁知道这到底是为什么?应该如何释放那些被占用的内存呢?
[解决办法]
占5m,算正常吧
[解决办法]
d2010?d7写的呢?
[解决办法]
楼主试试直接拿到XP下编译
[解决办法]
水平有高低,语气还是不要有高低的好
输入法模块占用的内存量x,会算入在应用的内存占用量y,这可以理解——我是第一次知道
但是A应用的x会特别大、一直大而不会缩小,而B应用的x则不会大,大了也会缩小
虽然x是输入法占用的,但是,是不是A应用对输入法的哪里处理、控制做的不如B呢?
而且,对于最终用户,他们也许也像我和楼主一样,不知道y大是因为x大了
只看到lz的应用的y特别大,也可能就会认定lz写的程序有问题
所以,lz还是有责任解释、让A应用保持与B应用一样的表现
[解决办法]
[解决办法]
猩猩做人还是要懂得谦卑比较好,真正的高调是低调~