У меня есть некоторая проблемка в приложении, нужно поставить AsyncTask на паузу в методе onPause(), когда открывается новое activity.
Я получаю XML от сервера, после разбора каждого узала (их 20шт) в методе onProgressUpdate() извлечонная ссылка на файл передается в мой метод addToBody(), который вызывает AsyncTask загружающий картинку в ImageView. Т.е. после разбора сообщения от сервера, друг за другом запускаются 20 AsyncTask'ов в onProgressUpdate(). Когда не все картинки подгрузились и я тапаю на элемент чтоб открылось новое активити мне надо приостановить загрузку (эти AsyncTask'ки), чтоб в новом открытом активии данные нормально подгрузились (не ожидая пока закончится загрузка в фоновом activity). После того как мы возвращаемся из нового активити в предыдущее, нужно продолжить работу тех 20ти AsyncTask'ов чтоб они прогрузили все картинки в интерфейс.
Я понял что нужно использовать метод onPause(), в котором будут останавливаться AsyncTask'и при переходе в новое активити, и метод onStart() - будет возобновлять загрузку картинок в активити при возврате, но как правильно это сделать? Какими методами пользоваться?
Как поставить поставить AsyncTask на паузу?
Re: Как поставить поставить AsyncTask на паузу?
Нужно реализовать LazyAdapter, вот посмотри тот что у меня в проектеsanu0074 писал(а):У меня есть некоторая проблемка в приложении, нужно поставить AsyncTask на паузу в методе onPause(), когда открывается новое activity.
Я получаю XML от сервера, после разбора каждого узала (их 20шт) в методе onProgressUpdate() извлечонная ссылка на файл передается в мой метод addToBody(), который вызывает AsyncTask загружающий картинку в ImageView. Т.е. после разбора сообщения от сервера, друг за другом запускаются 20 AsyncTask'ов в onProgressUpdate(). Когда не все картинки подгрузились и я тапаю на элемент чтоб открылось новое активити мне надо приостановить загрузку (эти AsyncTask'ки), чтоб в новом открытом активии данные нормально подгрузились (не ожидая пока закончится загрузка в фоновом activity). После того как мы возвращаемся из нового активити в предыдущее, нужно продолжить работу тех 20ти AsyncTask'ов чтоб они прогрузили все картинки в интерфейс.
Я понял что нужно использовать метод onPause(), в котором будут останавливаться AsyncTask'и при переходе в новое активити, и метод onStart() - будет возобновлять загрузку картинок в активити при возврате, но как правильно это сделать? Какими методами пользоваться?
R.id.team
Политика на форуме запрещена
Политика на форуме запрещена
Re: Как поставить поставить AsyncTask на паузу?
А можеш раскоментить, что к чему там у тебя? просто я новичек в андроид-разработке, я написал же для чего мне нужно реализовать это....rezak90 писал(а): Нужно реализовать LazyAdapter, вот посмотри тот что у меня в проекте
Re: Как поставить поставить AsyncTask на паузу?
будет когда то время то распишу =)
если новичёк то тогда не замарачивайся, понять трудно будет... вкратце то создаётся пулл потоков, сохраняется картинка на дивайс, делается проверка если есть картинка на дивайсе то грузится она иначе качается по сети и грузится... в итоге при последующей прокрутки картинки грузятся по локали что очень быстро
если новичёк то тогда не замарачивайся, понять трудно будет... вкратце то создаётся пулл потоков, сохраняется картинка на дивайс, делается проверка если есть картинка на дивайсе то грузится она иначе качается по сети и грузится... в итоге при последующей прокрутки картинки грузятся по локали что очень быстро
R.id.team
Политика на форуме запрещена
Политика на форуме запрещена
Re: Как поставить поставить AsyncTask на паузу?
Именно такую вещь и хочу реализовать, я пишу клиент для одного из своих сайтов, если я тебе выложи исходники, сможешь ковырнуть?rezak90 писал(а):будет когда то время то распишу =)
если новичёк то тогда не замарачивайся, понять трудно будет... вкратце то создаётся пулл потоков, сохраняется картинка на дивайс, делается проверка если есть картинка на дивайсе то грузится она иначе качается по сети и грузится... в итоге при последующей прокрутки картинки грузятся по локали что очень быстро