有谁了解Windows内存回收机制?能指点一下吗?
我用VC写了一个对话框程序,主要功能就是选择一个安装包,然后生成一个线程,然后在线程里再创建一个进程,运行这个安装包安装软件,整个过程我只动态申请了两处内存,使用完马上就释放了。其他的都是局部变量和结构体之类的。使用文件和创建子进程使用完毕时也都把句柄关闭了。
但是我发现在使用时,通过任务管理器发现初始占用内存是15004K,随着我的操作和程序的执行,程序占用的内存是越来越多,安装了两三个软件后,内存一定达到17996K了。程序执行完毕后内存仍然为17996K。而且很长时间内都是这个值。但是内存我都释放了啊。局部的本地变量,在函数执行完也自动释放了对吧。但是为什么程序执行完内存占用还是这么高呢?
更奇怪的是,过了一段时间(时间不固定,可长可短),内存占用突然变为1400K了。
所以我请问大家,windows的内存回收机制是怎么回事?我这种现象怎么解释呢?算不算内存泄露呢?