applicationWillResignActive приходит очень поздно

У меня странное поведение: при нажатии кнопки питания я получаю активное уведомление об отставке в своем приложении примерно через 1-2 секунды после ее нажатия. Также при сворачивании приложения я получаю уведомление очень поздно.

Как я могу обнаружить, что мое приложение мгновенно переходит в фоновый режим? Такие приложения, как DM-1, могут это сделать, поэтому такая возможность должна быть.

Надеюсь, у кого-то есть идея!

РЕДАКТИРОВАТЬ: Может быть, я должен добавить, что у меня есть NSTimer, который делает что-то в фоновом режиме каждую секунду. Но работа, которую он выполняет, минимальна.


person Max    schedule 11.05.2013    source источник
comment
Ваша формулировка очень запутана. Вы отметили это как вопрос iOS, так что я предполагаю, что это так. Но затем вы говорите о кнопке питания и сворачивании приложения, что предполагает, что вы говорите о приложении для OS X. У iPhone нет кнопки питания, вы имеете в виду кнопку «Домой»? Другая называется кнопкой сна. Кроме того, вы не можете свернуть приложение iOS. Вы либо завершаете его, либо отправляете в фоновый режим.   -  person DrummerB    schedule 11.05.2013
comment
Эй, извините, чтобы быть более точным: я говорю о кнопке сверху iphone / ipad. Итак, кнопка сна. А на iPad есть эта анимация сворачивания при нажатии на кнопку домой. И я получаю активное событие ухода в отставку в то время, когда эта анимация выполняется.   -  person Max    schedule 11.05.2013
comment
Если вы думаете, что знаете (или должны знать) лучше, чем среда выполнения, когда должны приходить уведомления, значит, что-то не так с архитектурой вашего приложения. Ваша задача — принимать уведомления, которые действительно приходят, когда бы они не поступали.   -  person matt    schedule 12.05.2013


Ответы (1)


- (void)applicationDidEnterBackground:(UIApplication *)application;

Этот метод вызывается, когда пользователь возвращается на главный экран из вашего приложения.

person DrummerB    schedule 11.05.2013
comment
Resign active вызывается для меня раньше, чем didEnterBackground. И оба опаздывают. - person Max; 11.05.2013