OS X应用程序如何“清理”内存?

时间:2011-07-20 01:15:12

标签: objective-c cocoa macos memory-management

我想知道如何在Mac OS X上“清理”内存。如果您安装了开发人员工具,则可以使用purge命令清理内存。但是,如果开发工具未安装,则此命令将不起作用。其他应用程序能够这样做,所以我知道它是可能的。

如何编写一个能够“清理”内存的应用程序,意味着删除非活动内存并在可用内存中腾出更多空间?

1 个答案:

答案 0 :(得分:5)

一种解决方法是尽可能多地使用malloc,然后释放内存。请参阅以下代码,该代码取自另一个示例:

ints = size / sizeof(unsigned int);

unsigned int* mem;
mem = (unsigned int*) malloc(size);

for (i=0; i<ints; i++) {
    mem[i] = rand();
}

free(mem);

当然,你可以通过清理记忆来决定你的意思,以及对malloc的评价。