none
请教 :wince 系统内存 之 WM_HIBERNATE RRS feed

  • 问题

  • 在开发设备程序的时候,发现程序运行一段时间后会出现内存过低的情况。这个情况msdn描述了一个 WM_HIBERNATE 消息,当内存过低的时候,自动发送该消息到应用程序,要求减少内存占用。

    同时,在注册表的[HKEY_LOCAL_MACHINE\System\Hibernate] 的键值描述了,在低于多少后系统发送该消息。

     

    问题1:我尝试修改该值 为20M , 但是,当可用内存小于20M 的时候 ,用来测试的应用程序却没有接收到该消息。  (手动发送该消息,测试程序可以收到) 。这是为什么? DoHibernate()这个函数似乎没有被调用,请教如何使该函数被系统调用?

     

    问题2:网上有一款 Oxios Memory 的软件,作用就是像应用程序发送WM_HIBERNATE  达到清理内存的作用。我模仿他的功能发送消息(PostMessage(hwndApp, WM_HIBERNATE, 0, 0) ),但是效果却没有他的好(他可以回收 几M ,我却只能 回收 几十K )。是否有人知道他做了什么特别的工作?

     

     

    2008年9月12日 7:21

全部回复