2012-02-13 4 views
0

Я делаю много запросов к моей базе данных с NSURLConnection Асинхронно, я прочитал несколько вещей на документах Apple, как показано ниже. Однако я все еще немного смущен тем, что происходит с моим спросите, происходит ли прерывание, и надеялся, что кто-то может помочь мне понять, что происходит и почему мои обязанности.Что делать, когда происходит прерывание

Документы Apple перечисляют эти вещи как вещи, которые нужно обрабатывать/думать о том, когда происходит прерывание.

Что делать, когда возникает сбой

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

остановки таймеров и других периодические задачи. Остановите все запущенные метаданные запросов. Не начинайте новые задачи. Приостановите воспроизведение видео (кроме при воспроизведении через AirPlay). Войдите в состояние паузы, если ваше приложение - это игра. Откажитесь от частоты кадров OpenGL ES. Приостановить любую отправку очередей или очередей операций, выполняющих некритический код. (Вы можете продолжить обработку запросов сети и другие чувствительные ко времени фоновых задач при неактивной.)

ответ

2

Последнее предложение говорит все это: Вы можете продолжить обработку сетевых запросов в то время как неактивный.

+0

Правильно, как мне с этим справиться, Скажите, если я сделаю запрос, который на полпути, закончив, я получаю звонок или что-то подобное. Доза приложение автоматически узнает, чтобы закончить этот запрос? или мне нужно рассказать об этом. Как мудрые с другими запросами, которые могут следовать этому, будут ли они продолжать обрабатывать или мне нужно приостановить дальнейшие запросы, пока я не вернусь в активное состояние? Может звучать abit глупо, но я просто хочу быть в курсе этого и понять, что я делаю :) Спасибо за ваш ответ. –

+0

Единственная проблема, с которой вам действительно приходится иметь дело, возможно, чтобы приложение узнало, что вам нужно дополнительное фоновое время, если это так. Ваши обратные вызовы будут по-прежнему вызываться каждый раз, когда вы получаете данные, пока не получите завершение вызова, а затем он перейдет в нормальный фоновый режим. Посмотрите: http://mobileorchard.com/ios-advanced-programming-understanding-ios-4-multitasking/ –

+0

Интересно, что в своем объяснении (ссылки, которую вы мне прислали) он говорит, что сетевые операции - одна из вещей вы не можете сделать в bg .. Я все еще читаю, но да, это становится abit blurry. –

Смежные вопросы