关于Image的内存泄漏

zcchm 2003-06-23 07:06:08
我做了一个类似电子地图的东西,使用Image存放背景图,
因此需要频繁的进行如下操作:

Image1->Picture->Bitmap->FreeImage();
Image1->Picture->Bitmap->ReleaseHandle();
Image1->Visible = false;
Image1->Picture->LoadFromFile(sFilePicPath);
Image1->Visible = true;


但是每次执行上面代码以后,内存就要上涨,很快吃掉很多内存.

请教各位,如何避免这种状况?请指出上面代码存在的问题!多谢
...全文
142 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
zcchm 2003-06-23
  • 打赏
  • 举报
回复
呵呵刚才没刷新,季大哥已经给出解释了,多谢多谢!!!
zcchm 2003-06-23
  • 打赏
  • 举报
回复
问题解决了,多谢
马上揭帖
不过能解释一下我的代码中存在的问题吗?
jishiping 2003-06-23
  • 打赏
  • 举报
回复
调用Image1->Picture->LoadFromFile()时,VCL会自动释放Bitmap分配的内存,不用你自己
释放。看BCB的帮助,好像还要先调用Dormant(),然后调用FreeImage()和ReleaseHandle()
才行,我看还不如让VCL自动释放比较好。
梦回童年001 2003-06-23
  • 打赏
  • 举报
回复
你不要手动释放,它会自动释放的。

13,825

社区成员

发帖
与我相关
我的任务
社区描述
C++ Builder相关内容讨论区
社区管理员
  • 基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧