Wince内存莫名其妙的减少
不知道是不是因为MFC的问题,总感觉内存会稀奇古怪的减少。不像一般的泄露,一般代码bug,泄露的内存会稳定增加。但我的程序里面很随机,隔一段就少一点,每次都是4K。我想应该是GDI的资源泄露,因为普通的动态内存,稍微注意下,根本就不会忘记释放,也不会每次都是4K的整数倍。后面创建个最简单的MFC对话框,不停的刷新界面,不动它的情况下内存倒不会变,但是一点下鼠标,或者刷新一下外面的桌面,内存立马就会少4K或者8K甚至12K不等。然后几次之后就不再减少,怀疑是wince内部有啥缓存之类的机制,把窗口相关的数据会缓存起来,不会释放。后面弹出个系统属性对话框,内存立马减少几十K,之后点OK关闭,内存还不释放,这wince也太傻比了吧,这么存着是为了啥呢,就为了下次显示响应更快吗。。大家一起来说说内存泄露或者神秘减少的问题吧,看下wince有多这么不稳定。
用 CE 从 3.0 开始,属于 CE 本身的问题,只有那个 MFC 的 GetDC() 的问题。
其它都是自己代码的问题。除了应用存在的内存泄露问题,驱动也有可能有问题的。
MFC 加些按钮是不会泄露的,如果反复N次后少4K是正常的,因为会有内存碎片
你倒可以测试一下不跑应用查看内存状况,看是不是驱动级的泄露
Wince本身的问题已经不多了。
大多是自己编码习惯的问题,要先从自己的代码找原因。