Здравствуйте, у меня есть ListView со списком файлов. я нажимаю элемент и начинаю загружать этот файл в асинтаске. затем я нажимаю еще один, и он должен быть помещен в очередь, дождаться этого файла и начать загрузку после его завершения. я могу сделать некоторый класс, который будет содержать все нажатые ссылки, и передать его части загрузки асинхронной задачи? и чем их как-то обработать. но хотите знать, это правильный путь? любые ссылки предложений? спасибо
какая-то очередь для асинтаска
Ответы (3)
Если вы настроены на использование AsyncTask, тогда, да, держите нажатые ссылки и запускайте новые задачи, когда это необходимо. Обратите внимание, что AsyncTask похож на «карманный нож» для многопоточности в приложениях для Android.
Если вам действительно нужно управлять кучей фоновых задач, и похоже, что вы это делаете, взгляните на ThreadPoolExecutor. Вы получаете большую гибкость. BlockingQueue ThreadPoolExecutor Подробнее Пример< /а>
Взгляните на HandlerThread и класс Handler. Вам нужен один обработчик для передачи задач в фоновый HandlerThread и другой для потока пользовательского интерфейса, чтобы передать результаты обратно в пользовательский интерфейс.
Несмотря на то, что он старый, он попал сюда из Google: рассмотрим IntentService.