Я создаю приложение, которое будет загружать около 30 изображений. Допустим, это занимает более 10 секунд. Я читал о AsyncTask
, и я думаю, что его нельзя использовать, так как задача займет больше пары секунд.Какую стратегию выбрать при выполнении длительных задач на Android?
AsyncTasks в идеале должны быть использованы для коротких операций (несколько секунд в лучшем случае.) Если вам нужно сохранить темы, работающие в течение длительных периодов времени, настоятельно рекомендуется использовать различные интерфейсы, предоставляемые java.util.concurrent pacakge, такой как Исполнитель, ThreadPoolExecutor и FutureTask.
При взгляде на API для ASyncTask
Я вижу, что есть методы, которые можно публиковать в потоке пользовательского интерфейса. Если я правильно понял, что более подходящим способом выполнения долгосрочной задачи является использование FutureTask
? Это означает, что я должен сам отправлять обновления в пользовательский интерфейс. Правильно ли, что вы используете post(Runnable)
method of View?
Мне может понадобиться руководство, независимо от того, нахожусь я на правильном пути.
Использование IntentService или фоновую службу, чтобы выполнить длинные задачи ... –