Приложение для iOS может быть закрыто по следующим причинам:
- Время ожидания сторожевого таймера
Как вы, наверное, знаете, начиная с iOS 4.x, большую часть времени, когда вы выходите из приложения iOS, приложение не закрывается, а вместо этого отправляется в фоновый режим.
However, there are times when the OS will terminate your app and
generate a crash log if the app didn’t respond fast enough. These
events correspond with the implementation of the following
UIApplicationDelegate methods:
- application:didFinishLaunchingWithOptions:
- applicationWillResignActive:
- applicationDidEnterBackground:
- applicationWillEnterForeground:
- applicationDidBecomeActive:
- applicationWillTerminate:
Во всех вышеперечисленных методах приложение получает ограниченное количество времени для завершения обработки. Если приложение занимает слишком много времени, ОС завершит работу приложения.
- Принудительный выход пользователя
iOS 4.x поддерживает многозадачность. Если приложение блокирует пользовательский интерфейс и перестает отвечать на запросы, пользователь может дважды нажать кнопку «Домой» на главном экране и закрыть приложение.
Примечание. Возможно, вы заметили, что при двойном нажатии кнопки «Домой» вы также получаете список всех приложений, которые вы запускали в прошлом. Эти приложения не обязательно запущены и не обязательно приостановлены.
Обычно у приложения есть около 10 минут, чтобы оставаться в фоновом режиме после того, как пользователь нажимает кнопку «Домой», а затем оно автоматически закрывается ОС. Таким образом, список приложений, которые вы видите, дважды нажав кнопку «Домой», — это только список прошлых запусков приложений.
- Завершение работы при нехватке памяти
При создании подкласса UIViewController вы могли заметить метод didReceiveMemoryWarning.
Любое приложение, работающее на переднем плане, имеет наивысший приоритет с точки зрения доступа и использования памяти. Однако это не означает, что приложение получает всю доступную память на устройстве — каждое приложение получает часть доступной памяти.
Когда общее потребление памяти достигает определенного уровня, ОС отправляет уведомление UIApplicationDidReceiveMemoryWarningNotification. В то же время для приложения вызывается didReceiveMemoryWarning.
На этом этапе, чтобы ваше приложение продолжало работать должным образом, ОС начинает завершать работу приложений в фоновом режиме, чтобы освободить часть памяти. После завершения работы всех фоновых приложений, если вашему приложению по-прежнему требуется больше памяти, ОС завершает работу вашего приложения.
person
Akshay Sunderwani
schedule
17.02.2015