CImage类Load()后内存增大很多,如何释放呢?
我在一个单文档的视图的OnEraseBkgnd函数中不断的调用
CImage img;
img.Load(L"tmp.jpg");
载入图片(图片在不断的变换),每次执行完img.Load(L"tmp.jpg");之后内存都增加了好几兆(图片不超过200K),
我在函数结尾处调用过了img.Destroy();还是无效,、
请问我该如何释放内存呢?
[解决办法]
不会吧,你的img是临时变量,析构时会自动释放的,是不是其他地方有泄露?
[解决办法]
如果这个图片是固定不变的话,你应该定义为成员变量,没有必要每次都去Load阿,多消耗阿
[解决办法]
http://topic.csdn.net/t/20031117/14/2465162.html
[解决办法]
如果是固定不变的就好了,定义为全局的就OK了,但是图片是在变化着得,每变化一次就要从新load一下,导致每load一下就增加几M内存占用,纳闷,该怎么释放出内存呢?
[解决办法]
看能不能用ReleaseGDIPlus函数??能的话就应该不会出现你说的问题!!
[解决办法]
试过 ReleaseGDIPlus 函数了,而且也将CImage定义为了类成员变量,还是每秒飙升几十兆的内存,悲剧!
[解决办法]
我也出现过类似 的问题。。
[解决办法]
希望能在这找到适合的答案
[解决办法]
不能调用Destory()吗?