内存管理问题,请高手赐教

iuchy 2004-11-22 02:51:14
我编写的软件,运行几天后内存占用非常大,而最小化后内存减少,请教这是什么问题?
如何解决内存占用大的问题?如何回收内存?
我的程序中不断有new 和 delete操作。
...全文
170 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
oyljerry 2004-11-25
  • 打赏
  • 举报
回复
调用delete冲突,检查一下那个位置
iuchy 2004-11-25
  • 打赏
  • 举报
回复
当使用boundschecker时没有报memory leaks,报了一些errors,如

Allocation Conflict: Attempting to call CObject::operator delete on 0x02B8FF98; pointer was allocated by _malloc_dbg.

是什么意思???

iuchy 2004-11-25
  • 打赏
  • 举报
回复
谢谢各位赐教,不过问题还是存在。
我在程序中大量使用了new 和 delete, 而且肯定是成对使用的。当最小化时,windows会自动调用一个api,这个api是什么大家知道吗?
roger_ding 2004-11-23
  • 打赏
  • 举报
回复
BoundCheck
iamzxx 2004-11-23
  • 打赏
  • 举报
回复
以前也想用一些工具,后来发现还是自己慢慢看代码,配合F5调试实在
xdsh00 2004-11-23
  • 打赏
  • 举报
回复
只要申请的内存都释放掉了,就没事了,慢慢找吧
DentistryDoctor 2004-11-23
  • 打赏
  • 举报
回复
运行几天后内存占用非常大,估计是有内存泄漏。
至于最小化后内存减少,这是OS的Workingset调整的结果,并不能掩盖memeory leak.
barsteng 2004-11-23
  • 打赏
  • 举报
回复
你说的情况应该是正常的,你看看IE就知道了,打开窗口的时候占用几十M是常事,但是把IE最小化后就小了很多(在任务管理器中查看的结果),很多程序都是这样的。
至于有效利用内存,比较好的办法是自己使用内存池。
至于内存泄漏,则是程序编写的问题
至于内存占用过大,则只能根据你的业务逻辑,在需要的时候申请内存,在不需要的时候马上释放
天限天空 2004-11-23
  • 打赏
  • 举报
回复
BoundCheck
都没用的

就用 资源管理器
把你程序的具体步骤分步执行,反复多执行几次,查看 内存变化
再看src

没办法的,只有凭经验慢慢看src
oyljerry 2004-11-22
  • 打赏
  • 举报
回复
内存泄漏,检查一下内存是否释放
danyueer 2004-11-22
  • 打赏
  • 举报
回复
以前也有人问过类似问题,当时的情况时是窗口销毁后仍然占用内存资源。

你这里应该也是这种情况,进程为了界面显示动态创建了不少界面资源,却没有及时销毁,导致内存资源不断被消耗。
kingzai 2004-11-22
  • 打赏
  • 举报
回复
http://community.csdn.net/Expert/topic/3559/3559358.xml?temp=.8550074
hundlom 2004-11-22
  • 打赏
  • 举报
回复
监视一下内存看都产生那些文件,在着手处理
快乐鹦鹉 2004-11-22
  • 打赏
  • 举报
回复
1.释放一定要及时。申请的空间一定要在使用完毕后立即显式的释放,不要等待系统去回收(有些局部变量在离开作用域时会自动回收,但更好的方式是在函数中,使用完局部变量后马上回收,而不是等待系统去自动回收)
2.合理使用new,只在需要的适合使用new。不要睡意分配空间,操作容易但空间是有限的。在资源紧张的时候,尤其要注意资源分配的有限顺序。

2,640

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 硬件/系统
社区管理员
  • 硬件/系统社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧