Когда приложение iOS переходит в фоновый режим, приостанавливаются ли длительные задачи?

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

- (void)applicationWillResignActive:(UIApplication *)application
- (void)applicationDidBecomeActive:(UIApplication *)application

Что, если мое приложение выполняет довольно долгую длительная операция (например, загрузка большого файла), и пользователь заставляет мое приложение перейти в фоновый режим? Будет ли эта операция автоматически приостановлена ​​и возобновлена, когда пользователь вернется в мое приложение?

Что именно произойдет за кулисами, когда мое приложение переходит в фоновый режим или возобновляет работу на переднем плане?

Что если, когда пользователи разрешают моему приложению перейти в фоновый режим, мое приложение выполняется как раз в середине метода?

Например, мое приложение выполняет

for (int i = 1 to 10000K) {
    do some calculation;
}

Когда i == 500K, пользователь переключается на другое приложение. Что происходит с циклом for в моем приложении?

70
задан Brad Larson 11 July 2011 в 16:11
поделиться