Как именно приложениеWillTerminate работает на iPhone? - PullRequest
8 голосов
/ 20 января 2009

Я думаю о том, как сделать приложение для iPhone максимально «пуленепробиваемым».

Сейчас я думаю о том, как приложение будет реагировать на нажатие пользователем кнопки «Домой» в критической точке обработки приложения.

Что точно происходит? Выполняются ли еще какие-либо инструкции в потоках приложения?

Когда вызывается applicationWillTerminate, я прочитал, что у приложения "есть несколько секунд, прежде чем ОС убивает процесс" - опять, что именно происходит?

Ответы [ 3 ]

4 голосов
/ 21 января 2009

applicationWillTerminate вызывается, когда ваше приложение выходит из-за вызова, который пользователь решает сделать, или когда ОС убивает его по какой-то другой причине. Вы не можете остановить завершение приложения, но можете сохранить некоторые данные, которые вы хотите использовать позже в этом методе.

Например, если ваше приложение позволяет пользователю что-то искать, вы можете сохранить условие поиска, когда приложение собирается завершить (в applicationWillTerminate) метод, чтобы вы могли использовать его позже, когда пользователь снова войдет в приложение.

Таким образом, реализация метода зависит от того, что вы хотите, чтобы ваше приложение делало, когда пользователь решает выйти из приложения или ОС его убивает.

4 голосов
/ 20 января 2009

Что я заметил, так это то, что домашний экран появляется сразу, но приложение может продолжать работать в фоновом режиме, по крайней мере, несколько секунд. Если это займет слишком много времени, его убьют.

0 голосов
/ 13 сентября 2009

Я слышал, у вас есть около 4,8 секунд для выполнения обработки, когда вызывается applicationWillTerminate, в противном случае его убивают. В основном сохраните все, что вам нужно быстро!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...