какая-то очередь за асинктаск - PullRequest
7 голосов
/ 14 апреля 2011

Здравствуйте, у меня есть ListView со списком файлов.я нажимаю пункт и начинаю скачивать этот файл в асинхронном режиме.затем я щелкаю другой, и он должен быть помещен в очередь, ждать этого файла и начать загрузку после его завершения.я могу создать какой-нибудь класс, который будет содержать все кликнувшие ссылки, и передать его в асинхронную часть загрузки?и чем-то их обработать.но хотите знать, это правильный путь?какие-нибудь ссылки на предложения?спасибо

Ответы [ 3 ]

9 голосов
/ 15 апреля 2011

Если вы используете AsyncTask, тогда, да, удерживайте нажатые ссылки и запускайте новые задачи, когда это необходимо. Обратите внимание, что AsyncTask похож на «карманный нож» для многопоточности в приложениях Android.

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

2 голосов
/ 30 октября 2012

Даже при том, что старый, получен здесь от Google: рассмотрите IntentService.

1 голос
/ 21 ноября 2011

Посмотрите на HandlerThread и класс Handler. Вам нужен один обработчик для передачи задач в фоновый HandlerThread, а другой для потока пользовательского интерфейса, чтобы передать результаты обратно в пользовательский интерфейс

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