Требование состоит в том, чтобы загрузить на сервер максимум 40 изображений, в настоящее время я могу загрузить на сервер все 40 изображений (с некоторыми данными, относящимися к этому изображению). Теперь мне нужно загрузить все 40 изображений параллельно (ранее выполнялось последовательно).Параллельная загрузка с помощью Asynctask с использованием модификации 2
for(int i=0;i<imageList.size();i++){
MyAsync async = new MyAsync(imageList.get(i));
async.executeOnExecutor(AsyncTask.THREAD_POOL_EXECUTOR);
}
Приведенный выше код является демонстрацией того, что я сделал в своем проекте. ImageList - это список изображений, которые я передаю в AsyncTask для загрузки этого изображения.
В настоящее время вызывается 9 параллельных doInBackground() (добавлен журнал для просмотра).
Когда загрузка начинается с doInBackground(), я использую call.execute() для загрузки на текущую тему вместо call.enqueue().
Проблема заключается в том, что при загрузке 40 изображений загружается только 5-6 изображений, я загружаю исходное изображение с помощью Multipart, поэтому нет никакой ошибки при загрузке, при этом последовательность последовательной загрузки работает нормально.
Единственная проблема заключается в попытке загрузить параллельный путь.
Может кто-нибудь, пожалуйста, дать мне какое-то предложение решить этот вопрос?
Любая помощь приветствуется.
Заранее спасибо.
Целью параллельных загрузок здесь является сокращение времени загрузки. для загрузки 40 изображений с изображениями 4-5 мб требуется более 10 минут. –