Mac 上的 C++ 内存清理

Whi*_*ger 2 c++ memory macos memory-management

我在 Mac 上有 C++ 代码,如下所示:

Object* objectArray = new Object[1000];
// do some stuff...
delete[] objectArray;
Run Code Online (Sandbox Code Playgroud)

现在它编译得很好,运行得很好

但是,当我查看该进程的活动监视器时,我发现我分配了 250MB,即使在执行该语句后,这些空间也不再可用delete[]。有没有办法在不退出 C++ 应用程序的情况下使该内存再次可用?

pmr*_*pmr 5

仅仅因为内存没有立即再次可用并不意味着当另一个进程请求更多内存时操作系统不会从您的进程中获取它。您所看到的情况在很多程序中都会发生,并且不断地让用户感到困惑,但这通常不值得您花时间。如果没有泄漏就没事。