Приложение Mac OS X замедляется, когда его окно не сфокусировано
Я разрабатываю приложение для Mac OS X с SWIFT и ObjC, используя XCode 6.1. Приложение является сервером, и оно использует CFSocketRef в цикле выполнения основного потока.
Когда окно приложения не фокусируется на нем, приложение замедляется, и сервер получает сообщения от клиента с задержкой.
Это нормально (приложение без фокуса замедляется)? Если это нормально, есть ли способ установить приоритет основного потока, чтобы, если приложение не фокусировалось, оно продолжало работать таким же образом?
1 ответ
В моем классе контроллера я добавил в awakeFromNib
функционировать beginActivityWithOptions
и чем в applicationWillTerminate
endActivity
как следующее
class ConsoleController: NSObject
{
var process : NSProcessInfo?
var activity: NSObjectProtocol?
override func awakeFromNib()
{
process = NSProcessInfo.processInfo()
activity = process!.beginActivityWithOptions(NSActivityOptions.UserInitiated, reason: "Good")
}
func applicationWillTerminate(notification: NSNotification)
{
process!.endActivity(activity!)
}
}