用任务管理器杀死时如何防止内存泄漏[重复]
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】:您在进程中的记忆与进程本身相关联。如果进程通过任务管理器停止,那么它分配的所有内存都将被释放。
内存泄漏仅在程序运行时发生。
【讨论】:
以上是关于用任务管理器杀死时如何防止内存泄漏[重复]的主要内容,如果未能解决你的问题,请参考以下文章
android (Service & PhoneStateListener) - 当应用程序被任务管理器、杀手或内存不足杀死时,服务确实重新启动但不工作