程序长时间运行过程中内存缓慢增长
cyfh 2004-09-28 04:59:52 我的程序主要工作是:接收网络上的音视频数据,然后把这些数据解码播放出来。
其中接收到的每帧数据缓存的指针先存到一个缓存容器里面,播放时从这个容器里面把数据一帧一帧数据缓存的指针取出来送去解码。这两个过程在不同的线程中。
在程序的运行过程中(已经增长了一定量),我用一个整理内存的工具(在网上找的一个软件)把系统内存整理了一遍,程序的内存消耗马上减到了和程序最初运行起来时的一样了。这种整理应该对运行中的程序没什么关系,主要时对系统的整理。然后再经过长时间运行又会增长到一定高度,如果再整理一次则又会降低到初试运行的内存量。。。。。。
我现在就是怀疑这个容器里面的缓存指针所指的内存不断的分配、释放、分配、释放,导致操作系统对某些内存没能及时释放,从而使得内存在运行过程中缓慢增长。
我想请问高手,我的这种猜测是否合理。如果真是这样,不知道有没有什么方法可以解决这个问题。windows有没有整理内存的相关接口?