应用程序关闭后,Qt进程将留在内存中
Qt process stays in memory after application closes
我有一个简单的应用程序,可以从它的主要部分启动QDialog,如下所示:
int main(int argc, char *argv[])
{
Q_INIT_RESOURCE(resources);
QApplication app(argc, argv);
QCoreApplication::setApplicationName(APP_NAME);
QCoreApplication::setApplicationVersion(APP_VERISON);
QCoreApplication::setOrganizationDomain(APP_DOMAIN);
app.setStyle("WindowsXP");
QTextCodec::setCodecForTr(QTextCodec::codecForName("utf8"));
QTextCodec::setCodecForCStrings(QTextCodec::codecForName("UTF-8"));
AuthenticationDialogContainer *pAuthenticationDialogContainer = new AuthenticationDialogContainer();
if(pAuthenticationDialogContainer->exec() != QDialog::Accepted ) {
return 0;
}
return app.exec();
}
当它经过app.exec()之后的应用程序的末尾,并且应用程序正在做应该做的事情时。当我打开windowsxp任务管理器时,我看到进程仍在内存中,我需要手动终止它。我怎样才能防止它发生?
QDialog::exec是一个阻塞调用:此代码在QApplication启动之前显示并关闭对话框
您可以使用QDialog::显示和处理QDialog::accept方法中的返回代码。
相关文章:
- 是否可以通过C++扩展强制多个python进程共享同一内存
- 可以读入进程内存的最大块大小是多少?
- 如何读取特定地址的进程内存?
- 如何删除列出的"QGraphicsPathItem"对象以控制进程内存使用情况?
- 如何使用带有矢量的 winapi 读取进程内存从另一个进程读取缓冲区?
- 进程间通信堆内存
- Directx 12 :在两个进程之间共享图形内存
- 子进程更新共享 mmap 内存,但父进程没有更改
- 读取进程内存多级指针(DLL 注入)
- 读取进程内存作弊引擎值
- 检测到由于操作系统内存不足而导致子进程终止
- 提升进程间共享内存open_or_create每次都会引发异常
- 获取进程内存信息失败,错误 6 句柄无效
- c++ 读取进程内存基址 + 偏移量不起作用
- 使用加速进程间创建消息队列 - 内存访问冲突
- 如何编辑受保护的进程内存?
- 内核模式驱动程序可以在任何进程上执行读取进程内存吗?
- Boost.进程间内存位置
- 从内存进程中获取信息
- 共享内存进程间通信