这是正常的自动终止行为吗?

时间:2012-03-03 01:37:45

标签: objective-c macos cocoa osx-lion

我在我的应用中启用了Automatic Termination。我将NSSupportsAutomaticTermination密钥添加到我的plist,现在我正在测试它。这是我注意到的,我想知道这是否正常,或者是否有问题(以及它可能是什么)。

  1. 启动应用
  2. 关闭其主要(仅限)窗口
  3. 切换回Xcode
  4. 它的图标从Dock消失
  5. Xcode的状态显示仍然显示为正在运行,我甚至可以暂停执行
  6. 分钟后,状态显示已完成运行
  7. 更新

    我不知道该怎么做,但我创建了一个新项目,唯一的变化是将上面的键添加到plist,它的行为方式相同。我也注意到该应用程序确实保留在Activity Monitor中,但CPU占用率为0%。这一切意味着什么?

1 个答案:

答案 0 :(得分:5)

这种预期的行为(与Xcode无关)。支持自动终止的应用程序完全隐藏,但在没有窗口的背景下保持运行;这使他们可以立即“重新启动”。它仅适用于可自动终止的应用程序,因为系统需要能够在系统负载增加时终止进程。例如,您可以使用TextEdit(使用Activity Monitor进行监视)来观察此行为。

自动终止有时被称为“自动生命周期管理”,它更准确但有点笨拙。

有关详细信息,请参阅WWDC 2011中的会话119“Resume and Automatic Termination in Lion”,大约需要34分钟。