窗口关闭后释放内存的方法
1、在dlg类中手动增加析构函数,在析构函数中释放内存。
(1)在头文件的类声明中,添加析构函数声明
class CTestDlg : public CDialog
{
public:
virtual ~CTestDlg();//析构函数声明,virtual可写可不写。
}
(2)在cpp文件中添加西沟函数定义
CTestDlg::~CTestDlg()
{
//add your code
}
2、添加消息响应函OnDestroy()函数(消息WM_DESTROY的响应函数)
窗口关闭时,程序会首先抛出消息WM_DESTROY,所以可以直接在OnDestroy()中释放内存。
另,从CDialog的源码.它也只是判断了一下句柄,然后调用DestoryWindow发送WM_DESTROY消息,所以只要你在消息响应函数OnDestroy里处理就可以了.
CDialog::~CDialog()
{
if (m_hWnd != NULL)
{
TRACE(traceAppMsg, 0, "Warning: calling DestroyWindow in CDialog::~CDialog --\n");
TRACE(traceAppMsg, 0, "\tOnDestroy or PostNcDestroy in derived class will not be called.\n");
DestroyWindow();
}
}
补充:
虚析构函数:
1、程序会先调用派生类的析构函数,再调用基类的析构函数。
2、如果基类的析构函数声明为虚函数,由该基类所派生的所有派生类的析构函数都自动成为虚函数(即使派生类的析构函数与基类的析构函数名字不相同)
窗口关闭后释放内存的方法相关推荐
- CHtmlView, 页面载入快播播放器时, 窗口关闭后, 出现内存访问失败的问题
如果遇到关闭带网页的窗口后,崩溃的问题,可以 1. 打开about:blank空白页 2. ShowWindow(SW_HIDE); 3. SetTimer设置定时器,在定时器里关掉窗口 ------ ...
- html监听页面关闭事件,JS针对浏览器窗口关闭事件的监听方法集锦
本文实例总结了JS针对浏览器窗口关闭事件的监听方法.分享给大家供大家参考,具体如下: 方式一:(适用于IE浏览器,而且刷新不提示,只在点击浏览器关闭按钮的时候提示) window.οnbefοreun ...
- 如何手动释放linux内存的方法,centos手动释放内存的方法
CentOS 是一个基于Red Hat Linux 提供的可自由使用源代码的企业级Linux发行版本.每个版本的 CentOS都会获得十年的支持(通过安全更新方式).接下来是小编为大家收集的cento ...
- html5中页面关闭事件监听,JS针对浏览器窗口关闭事件的监听方法集锦
本文实例总结了JS针对浏览器窗口关闭事件的监听方法.分享给大家供大家参考,具体如下: 方式一:(适用于IE浏览器,而且刷新不提示,只在点击浏览器关闭按钮的时候提示) window.οnbefοreun ...
- linux手动释放内存的方法
Linux手动释放缓存的方法 Linux释放内存的命令: sync echo 1 > /proc/sys/vm/drop_caches drop_caches的值可以是0-3之间的数字,代表不同 ...
- delphi dispose释放内存的方法
dispose使用方法的简单介绍在本文末尾. 定义一个record 类型,经过多次new dispose后,从windows任务管理器看,占用的内存比启动时大了很多,似乎越来越大 设置 ReportM ...
- linux回收内存的方法,linux释放内存的方法
Linux 释放内存方法 先看看内存使用状况 [root@node1 ~]# free -m total used free shared buffers cached Mem: 8004 6557 ...
- python线程执行完后释放内存_python变量内存地址释放与加速并行计算多线程
1.导入numba和gc包进行并行计算和内存释放 代码如下很容易的: #coding:utf-8 import time from numba import jit, prange, vectoriz ...
- 电脑扫描文件怎么弄_彻底清除手机垃圾文件,释放内存的方法
目前在市面上的手机,配置都特别的高了,内存64GB,128GB基本都是标配了,但各种APP种类繁多,手机内存却并不能满足大家使用需求,内存总是不够用. 几乎所有人的手机都安装有QQ,微信等软件,而这些 ...
最新文章
- 日常积累的一些linux和运维的东西 [转]
- c++ opencv2 libtorch 读取预训练权重并进行预测 linux
- 【开发环境】Mac 中删除 Python ( 删除 Python 框架 | 删除 Python 应用程序 | 删除 Python 链接 )
- BZOJ 3033 太鼓达人
- Mybatis Generator 逆向生成器
- mysql锁表与不锁表设置主从复制的方法
- 道了 14 年歉的扎克伯格,继续犯错的 Facebook
- Mysql安装相关问题
- python使用CV2剪切图片
- oracle创建数据库实例
- word表格跨页断行不起作用
- FMI飞马网 | 【线上直播】如何处理好横向关系 在协同与合作中实现双赢(下)
- android phone 模块分析
- phabricator 结合 arcanist 使用
- 公司信贷基础知识介绍
- MATLAB新手简明使用教程(六)——使用matlab求解定积分和不定积分的问题——新手来看,保证看懂。
- 计算机蓝屏安全模式都启动不了,stop:0x00000074蓝屏无法进入安全模式无法开机 解决办法...
- 随机数的生成【详解】
- Cesium geojson 移除
- 如何才能提高自己未来的竞争力?
热门文章
- 舟山市高新技术企业申报奖励补助、认定条件以及申报好处汇总
- 如何重构J2EE应用程序以使用 ring功能
- 学计算机需要笔记本嘛,大学生入学后,新生有必要买电脑吗?听完学长的建议再做打算...
- [Android分享] Android ListPreference的用法
- 命令完成android应用签名详细步骤
- 2020中国跨境消费报告:“小镇辣妈”“熟龄单身姐姐”“百万年薪大佬”都买啥?...
- 企业域名注册手续_注册无区域域名公司核名步骤条件
- SAP FI 基础概念总结
- 新建springboot项目启动后自动停止
- 从联想收购IBM PC到中国举办奥运想到的