中易网

向CList类添加结构体元素,内存为什么会一直增大

答案:2  悬赏:50  
解决时间 2021-02-14 23:45
向CList类添加结构体元素,内存为什么会一直增大
最佳答案
各位大侠好:
我现在定义了一个CList类对象m_list,在这个对象里加结构体元素,此结构体存放的为图片数据
typedef struct{BYTE CamIp[4];//相机IP
ULONG ImageSize;
char filename[MAX_LENGTH];
BYTE JpegData[10000];
}JPEG_ELEMENT
你的元素是new出来的吗 如果是需要delete掉 然后再将元素节点删除
可能是内存管理的机理导致的吧,最近被分配的内存可能比再次分配,而不立即释放到内存池中
可以建一个一定长度循环队列,这样一次分配 永久使用,在大内存量使用时优势尤为明显
JPEG_ELEMENT FirstImage,SecondImage;
JPEG_ELEMENT tempImageElement
元素不是new出来的。
JPEG_ELEMENT tempElement;
g_ComImageList.AddTail(tempImageElement);
list 类的元素是节点存储方式,每删除一个元素,同时会回收这个元素所占有的内存空间。
其成员函数remove,erase,pop_front,pop_back,clear等都会回收被删除元素的内存空间。
至于即使释放内存用 top 查看其内存只增不减的问题,是现代编译器普遍采用的一项内存优化策略所导致的,即进程中被释放的内存并不是真正地交给操作系统,而是仍归本进程使用。遇到下一次本进程分配内存的时候优先考虑这块被释放的内存空间,而不必每次都向操作系统提出分配内存的请求,从而可提高内存分配的效率。
全部回答
可以私聊我~
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
八里庄村地址在哪,我要去那里办事
白本申请法国签证
我故意气一个男生,我说他你长得这么丑能娶到
如何把CAD的文件转到AI 或CDR里面去?保证线条
欧典造型这个地址在什么地方,我要处理点事
想买辆长城H3或H5 问一下有什么区别经常跑工
recap after use中文是什么?
找一首英文歌曲女孩唱的开头是嘟哒嘟嘟 嘟哒
如何壶口瀑布去临汾?要多少时间?公交车还是
梦幻西游109级的师门20个平均有多少钱赚啊?
金海湾足疗在哪里啊,我有事要去这个地方
求助老师大漠插件显示在系统库里没有这个字是
复合函数求导 圈住的那道题
大家的6SP目前电池用了多久实际容量多少 做个
2016军考分数线预测
推荐资讯
同量的大米和面食哪个热量高一些?或者说哪个
电信不用宽带了可以只能座机号码吗?
书法中中堂和条幅有什么不同
四川电大和中央电大有什么区别?
索尼PCG-6Z2T笔记本正常使用的时候,突然自动
四冲程助力车能加混合油吗?
基督徒可以做玫琳凯直销吗?
退一个 可以上的 关于 捆绑的网站!!
新世界中心C座怎么去啊,有知道地址的么
说能办黑卡大额信卡有可能吗?
华硕x541sa能玩lol吗
求谁知道一个公主跑到民间,到一个九品芝麻官
手机登qq时,显示手机磁盘不足,清理后重新登
刺客的套装怎么选啊?