В документации по AsyncTask приводится следующее правило, касающееся многопоточности :
- Задача может быть выполнена только один раз (при повторной попытке выполнения будет выдано исключение).
Все это означает, что вам нужно создавать новый экземпляр класса каждый раз, когда вы хотите его использовать, верно? Другими словами, это нужно сделать так:
new DownloadFilesTask().execute(url1, url2, url3);
new DownloadFilesTask().execute(url4, url5, url6);
Или наоборот, вы НЕ МОЖЕТЕ делать следующее:
DownloadFilesTask dfTask = new DownloadFilesTask();
dfTask.execute(url1, url2, url3);
dfTask.execute(url4, url5, url6);
Кто-нибудь может подтвердить, что это точная интерпретация?
Я понимаю, что в значительной степени просто ответил на это для себя, когда печатал это... Но это не было сразу очевидно для меня, поэтому я думаю, что было бы полезно опубликовать это, тем не менее.