用任务管理器杀死时如何防止内存泄漏[重复]

Posted

技术标签:

【中文标题】用任务管理器杀死时如何防止内存泄漏[重复]【英文标题】:How prevent memory leak, when killed with tast manager [duplicate] 【发布时间】:2012-09-25 19:28:41 【问题描述】:

可能重复:How is dynamically allocated space freed when a program is interrupted using Ctrl-C?

我的应用程序使用指针,因此需要分配内存。

如果你用任务管理器杀死我的应用程序会发生什么? windows会释放分配的内存吗?

我的析构函数没有被调用,所以我的应用程序无法清理:(

有解决办法吗?

【问题讨论】:

是的,一旦您的进程结束,Windows 会回收内存。 【参考方案1】:

当一个进程被杀死(或以任何其他方式结束)时,操作系统会回收该进程使用的内存,因此不会发生内存泄漏。

【讨论】:

【参考方案2】:

您在进程中的记忆与进程本身相关联。如果进程通过任务管理器停止,那么它分配的所有内存都将被释放。

内存泄漏仅在程序运行时发生。

【讨论】:

以上是关于用任务管理器杀死时如何防止内存泄漏[重复]的主要内容,如果未能解决你的问题,请参考以下文章

如何在应用程序被任务管理器杀死时保存数据?

防止从任务管理器中杀死进程,反转

Delphi 7 - 防止用户在任务管理器中杀死进程

使用GDI时如何确定是否有内存泄漏

android (Service & PhoneStateListener) - 当应用程序被任务管理器、杀手或内存不足杀死时,服务确实重新启动但不工作

Android防止Service被杀死