2010-09-28 2 views
6

В моем приложении я загружаю около 25 МБ + данных. Во время процесса загрузки, если пользователь нажимает центральную кнопку, и приложение переходит в фоновое изображение, что нужно сделать, чтобы загрузка продолжалась после того, как приложение перешло на передний планПродолжающаяся загрузка после того, как приложение переходит на задний план

ответ

2

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

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

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

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

+0

Когда пользователь выбирает приложение, и если приложение приходит из фона на передний план, я всегда нахожу, что отображается тот же экран. В этом случае я предположил, что операция загрузки возобновится. я прав ?. Примечание. Я еще не тестировал iPhone. – thndrkiss

+1

Нет, операция загрузки не возобновится. Ваше соединение для загрузки нарушено, и вам нужно снова запустить его по вашему коду – vodkhang

+0

. У меня есть сомнения. Я просто попытался загрузить с моего мобильного телефона iphone 3gs с 4.0.2 os. Он работает без каких-либо манипуляций. я не занимался обработкой спины к носу или наоборот. Это ожидаемое поведение? – thndrkiss

3

Отъезд Executing Code in the Background раздел Руководства по программированию IOS приложений, в котором говорится:

Каждый раз, прежде чем он подвешен, приложение может назвать beginBackgroundTaskWithExpirationHandler: способ попросить систему для дополнительной чтобы выполнить некоторую длительную задачу в фоновом режиме.

+0

Я думаю, что дополнительного времени в этом случае недостаточно, потому что 25 + МБ данных настолько большие – vodkhang

+1

Это возможно; Я считаю, что дополнительное время, которое вы получаете, ограничено 10 минутами (в текущей версии ОС). Разрушая ваши данные на более мелкие куски, так как водханг говорит, это хороший совет. Тем не менее, если вы хотите продолжить, по крайней мере, некоторую загрузку в фоновом режиме, startBackgroundTaskWithExpirationHandler: все хорошо знать: позвонив, вы можете запустить 10 минут вместо 10 секунд после того, как пользователь нажимает кнопку «домой». –

+0

Я не тестировал 10 минут. Это хороший факт. Тогда, я думаю, что это возможно, 25 + МБ данных за 10 минут - это не так много – vodkhang

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

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