Мое приложение можно запустить через UIApplicationLaunchOptionsLocalNotificationKey
в фоновом режиме. В этом случае выполняется обычный процесс настройки initail view controller
и некоторых анимаций на целевой/первой странице приложения.
Мой вопрос: является ли это хорошей практикой, если я оставлю эти анимации такими, даже когда мое приложение запускается через ОС в фоновом режиме? Меня беспокоят три вещи:
Некоторые анимации непрерывны, например
circular-dot(UIImage)
расширяются и сжимаются, используя CAAnimation.Некоторые представления добавляются и удаляются как подвиды
keyWindow
в зависимости от местоположения пользователя.Когда пользователь нажимает кнопку «Домой», нужно ли мне тогда также останавливать анимацию и добавлять подпредставления?
Заставлять анимацию останавливаться и возобновляться с помощью applicationDidEnterBackground
и applicationWillEnterForeground
кажется утомительным.
application: didReceiveLocalNotification:
- person danh   schedule 06.10.2017application: didReceiveLocalNotification
не называется. Мое приложение просыпается вdidFinishLaunchingWithOptions:(NSDictionary *)launchOptions
, а клавишаlaunchOptions
имеетUIApplicationLaunchOptionsLocalNotificationKey
. Кроме того, когда мой код анимации выполняется (независимо от того, в каком состоянии находится мое приложение), я запрашиваю основную очередь, используя диспетчеризацию, и выполняю там операции пользовательского интерфейса. Пока все работает нормально. И поскольку эти конкретные анимации происходят через класс singleton, мне не нужно было запрашивать основную очередь везде в приложении. - person nr5   schedule 08.10.2017