怎样解决WINCE 的内存碎片问题
本帖最后由 fqipkh 于 2013-05-24 23:11:37 编辑 请教下大家CE下怎么做内存碎片整理的,我先说下目前我了解的方法。
1.分配和释放应当对称,先分配的后释放。
2.分配的内存尽量做到固定大小,这样产生的碎片能够再次使用。
3.自己做申请一个分离堆,在这个堆上申请内存,不用的时候就把这个堆释放
在下面的这个Webcast中有提到有没有像台式机样的自动回收内存碎片的功能,想问下XP是怎么自动回收内存碎片的,https://msevents.microsoft.com/CUI/WebCastRegistrationConfirmation.aspx?culture=zh-CN&RegistrationID=1313306497&Validate=false
另外很多资料上有提到发送WM_HIBERNATE来做的,还有一个是调用SHCloseApps()(好像CE6不支持这个函数),但我感觉这两个都只是释放内存的,都没有所谓的内存碎片整理的功能,并且前面一个消息应该要每一个应用都要针对这个消息进行处理才行。
因为我们平台会运行很多软件,有些软件不是多们自己的做的,为了增加稳定性,想找到能整理内存碎片的方法。希望大家都说下碎片整理应该怎么做,谢谢 WinCE 内存碎片
[解决办法]
好像是没有啥有效的方法
坐等其他人
[解决办法]
wince这方面确实没有什么比较好的办法,只能想lz说的那样,尽量避免。
[解决办法]
目前还不知道有什么方法可以做到这一点