进程终止是否自动释放所有使用的内存? 任何理由明确地做到这一点?

Windows NT和更高版本中,我认为当进程到期时,无论是因为它终止本身,还是被强制终止,操作系统都会自动回收进程使用的所有内存。 有没有这种情况是不正确的? 是否有任何理由明确释放用户模式应用程序使用的所有内存?

Solutions Collecting From Web of "进程终止是否自动释放所有使用的内存? 任何理由明确地做到这一点?"

每当进程结束时,映射到它的所有内存页面都将返回到可用状态。 正如你所说,这可以称为“回收记忆”。 但是,它不会执行诸如运行析构函数(如果使用C ++)。

强烈建议释放所有的内存,而不是从资源的角度来看,但从发展的角度来看。 试图释放内存鼓励你考虑内存的使用寿命,并帮助你确保你真正清理。

这在短期内并不重要,但我已经处理了无数软件程序,他们认为他们拥有这个程序,所以不必自行清理。 但是,想要在沙箱中运行程序有很多原因。 许多随机测试场景可以运行得更快,如果他们不必每次都重新创建过程。 我也有几个程序认为它们是独立的,只是为了寻求整合到一个更大的软件包中。 在那个时候,我们发现了所有内存管理的捷径。