为什么Cocoa应用程序使用如此多的内存?

Mic*_*ael 9 memory cocoa objective-c

甚至在Xcode中创建新的Cocoa项目时构建的标准空白窗口Cocoa应用程序也使用了近6 MB的内存.这是什么原因?是否有可能使应用程序使用更少,或者OS X是否只是为Cocoa应用程序管理内存的方式不同?

不是我在抱怨.我知道性能"几乎不再重要"(编辑:我的意思是,它比可读性/可维护性/程序员的时间更重要).我只是好奇.

Kor*_*nel 9

OS X在共享内存和写时复制页面方面做了大量工作,因此很有可能它不会为每个应用程序占用太多的物理RAM.

您可以通过运行来确切地检查内存块的映射方式:

sudo vmmap <PID of the process>
Run Code Online (Sandbox Code Playgroud)

  • 还有一个非常基本的命中:osx上的所有窗口都是双缓冲的 - 所以2*窗口宽度*窗口高度*4个字节将用于打开一个窗口 (4认同)