【发布时间】:2021-10-12 08:04:15
【问题描述】:
问题:
我写了一个程序,它有 10~12 个 CListCtrls 行同时追加。
我从来没有删除旧项目来限制listCtrls的行数,程序已经运行了大约1天。
刚刚看到进程监视器,发现内存使用量增加到了600MB(原来是70~80MBs左右)
我认为原因与CListCtrls有关。
问题:
我想将内存使用量减少到 100MB 左右。
所以,我想知道:
1. CListCtrl的行数有默认限制吗?是多少?
- 我听说 CListCtrl 有一个限制,所以不需要手动从我的一位队友那里删除顶级项目。
2。内存使用量是否会像我删除最重要的项目一样减少?
- 我想知道 CListCtrl 保存的缓冲区数据与我们在 UI 上看到的相同,或者它只会像
std::vector那样增加缓冲区大小。
3.如果 CListCtrl 没有实现在 UI 上移除的缓冲区,那么限制内存使用的解决方案是什么?
-
或者问题的原因可能与 CListCtrl 无关?
我将LVS_EX_DOUBLEBUFFER与 CListCtrls 一起使用。 -
另一方面,我使用 10-12 个文件映射进行日志记录,每个映射大约 6MB。 这些已经测试了这么久,我相信没有内存泄漏。
任何答案或参考将不胜感激,谢谢。
【问题讨论】:
标签: memory-leaks mfc clistctrl