【发布时间】:2015-07-10 11:46:54
【问题描述】:
我正在使用 XCode 6.1 开发带有 SWIFT 和 ObjC 的 MAC OS X 应用程序。 该应用程序是一个服务器,它在主线程运行循环中使用 CFSocketRef。
当应用程序窗口没有焦点时,应用程序会变慢,服务器会延迟接收来自客户端的消息。
这是正常的吗(没有焦点的应用程序会变慢)? 如果正常,有没有办法设置主线程优先级,以便在应用没有焦点的情况下继续以相同的方式运行?
【问题讨论】:
-
这可能是因为优胜美地的“App Nap”。似乎您可以通过使用
beginActivityWithOptions: developer.apple.com/library/mac/documentation/Cocoa/Reference/… 来防止这种情况,但我无法给出真正的答案,因为我从未在我的应用程序中实际使用过它。 -
好的,谢谢!我会在您发布的链接上阅读文档!
-
谢谢埃里克!这是 App Nap,我在代码中添加了 beginActivityWithOptions。
-
不客气。如果您愿意,可以发布您自己对这个问题的答案,解释您为使其发挥作用所做的工作。我相信它对其他人会有所帮助,并且有一个工作示例肯定会对我有所帮助。 :)
标签: objective-c xcode macos swift osx-yosemite