Я прочитал документацию Apple о жизненном цикле приложений и провел несколько тестов, чтобы выяснить, каков жизненный цикл приложений на разных устройствах.(Все работают под управлением iOS 4.x, кроме 2G)
Я протестировал устройства, поддерживающие многозадачность, и устройства, не поддерживающие эту функцию:
Жизненный цикл приложения iPhone 2G / 3G:
(START)
- didFinishLunchingWithOptions
- applicationDidBecomeActive
(HOME PRESSED)
- applicationDidEnterBackground
- appWillTerminate
Жизненный цикл приложения для iPad / iPhone 4:
(START)
- didFinishLunchingWithOptions
- applicationDidBecomeActive
(HOME PRESSED)
- appWillResignActive
- appDidEnterBackGround
(RESART app in the "Taskbar")
- appWillEnterForeGround
- appDidBecomeActive
Я пытался убить приложение с «панели задач», но отладчик получил SIGKILL!Что происходит, когда вы убиваете приложение и таким образом?
Когда appWillTerminate вызывается на устройстве, поддерживающем многозадачность?Верны ли мои результаты?
РЕДАКТИРОВАТЬ:
Цитата из документа Apple о appWillTerminate:
Для приложений, поддерживающих фоновое выполнение, этот метод обычно не вызывается, когдапользователь выходит из приложения, потому что в этом случае приложение просто перемещается в фоновый режим.Однако этот метод может быть вызван в ситуациях, когда приложение работает в фоновом режиме (не приостановлено), и система должна по какой-то причине прекратить его.
Что они имеют в виду под "обычно не вызывается"».«система должна прекратить это ..» означает, что метод appWillTerminate
будет вызван?