回应小牛的内存压力?

时间:2013-12-31 06:23:17

标签: macos cocoa memory-management osx-mavericks

在iOS上,当内存不足时,我们会收到UIApplicationDidReceiveMemoryWarningNotification。 OS X应用程序是否有类似的构造,特别是那些针对Mavericks的应用程序?

我知道OS X有一个交换文件,完全能够将内存分页到闪存/磁盘。但我想如果应用程序能够明智地决定清除哪个内存,那么可以减少要分页的数据,不是吗?

仅仅想知道Mavericks' Activity Monitor has a "memory pressure" indicator以后,应用程序是否有办法在发生这种情况时对此情况做出响应。

2 个答案:

答案 0 :(得分:3)

OS X并未完全提供通知。相反,您使用缓存和可清除内存。见Memory Usage Performance Guidelines: Caching and Purgeable Memory。还有libcache,这是一个较低级别的库。

答案 1 :(得分:1)

在OS X上没有这样的通知,主要是因为当内存使用率过高时,没有看门狗可以杀死OS X上的进程。