当前位置: 代码迷 >> WinCE >> wince中的储存内存和程序内存-程序运行24小时候内存增加
  详细解决方案

wince中的储存内存和程序内存-程序运行24小时候内存增加

热度:382   发布时间:2016-04-28 11:52:29.0
wince中的存储内存和程序内存---------程序运行24小时候内存增加
程序在wince系统里启动后,通过观察 控制面板-->系统---->内存 记录以下情况

①程序启动后,内存情况如下:
存储内存                                     程序内存                   
已分配      6660KB                    已分配     46560KB                         
正在使用  84KB                         正在使用 27852KB

②每间隔一小时记录内存情况
24小时内变化不大,只有 程序内存 正在使用的内存好像增加为 27864KB (比最初增加12KB,但是晚间14个小时没增长过)
③在正好过24小时后突然变化如下:
存储内存                                     程序内存                   
已分配      6660KB                    已分配     46560KB                         
正在使用  124KB                      正在使用 31900KB
这一步是明显突变的,变化之前没看到有什么内存增长,但就是突然变了。
之后又不再变化,目前程序继续运行中,内存也没见有增长,当前是正好运行到25个小时。

请教各位,这wince为何会在程序运行24个小时后,突然增加了存储内存和程序内存中“正在使用的内存量” ??

按照我之前的经验,如果有内存溢出,应该是4KB慢慢增加的,不会突然变化这么多啊




------解决思路----------------------
系统是不会这样的。正常应该是你的程序问题。
简单点写个内容监控代码,直接输出自己程序的内容使用情况。长期监控就知道了。
最好还是查看你的业务流程,到底测试过程有啥变化没,哪些会是内存变大。
------解决思路----------------------
1 自己写一段内存使用情况的监测代码,放在自己的程序中定时监测内存使用情况。
2 与 存储内存 没有什么关系
分析代码中  GDI 内核对象,new/calloc等分配的内存是否有正确的释放。
------解决思路----------------------
你知道 存储内存 是做什么用途的吗?存储内存 只是用内存来虚拟出一块存贮文件等的空间。
如果你想让存储内存 减小,最简单的只需要 Copy 一个文件到 \ 目录中。
------解决思路----------------------
前面一直不增加,突然之间增加了4000KB左右
这也不可能是程序问题吧?程序内存泄露也不是这样泄露的
是不是有什么特殊的操作啊

  相关解决方案