Необходимо загрузить канал с URL-адреса и сохранить данные элемента канала в sqlite. Некоторые элементы фида могут содержать изображения. Изображения необходимо загрузить и сохранить на устройстве (ссылка будет сохранена в sqlite). Все это происходит в фоновом режиме. Никакого взаимодействия с UI / основным потоком не требуется.
Я закодировал часть загрузки данных канала (JSON), парсинга данных JSON (с использованием GSON) и сохранения их в базе данных в одной AsyncTask. Могу ли я иметь логику загрузки изображений в той же AsyncTask? или мне следует запустить другие задачи Async для загрузки изображений внутри текущей задачи Async? Я читал об обработчиках, нужно ли мне использовать обработчики для загрузки изображения?
Я думаю о сохранении URL-адресов изображений в объекте в основной задаче Async и запуске другой задачи AsyncTask onPostExecute, которая последовательно загружает изображения. Есть ли проблемы с этим подходом?
Меня беспокоит, что произойдет, если пользователь покинет приложение во время выполнения вышеуказанного процесса. Может быть между обработкой корма. Если я использую «Сервис», будет ли процесс продолжаться до тех пор, пока он не завершится, даже если пользователь покинет приложение? (Я прочитал документацию, но не получил эту часть). Или мне следует программно отслеживать прогресс, например, элементы, которые были обработаны, и не обрабатывать их в следующий раз и т. Д.?
Спасибо за вашу помощь.