Мне нужно загрузить несколько растровых изображений с сервера в Android. Я хочу использовать AsyncTask, выполненный с использованием .executeOnExecutor(AsyncTask.THREAD_POOL_EXECUTOR)
. Но мой исполнитель перегружен. Так что я думаю, если я поставлю задержку, это должно помочь. Итак, мой вопрос: как мне поставить задержку на исполнителя? Я думаю об использовании handler.postDelay
, но он принимает только runnables. Есть ли способ заставить его работать с исполнителем?
Хорошим решением может быть запуск 20 вызовов за раз, а затем ожидание 100 миллисекунд для запуска следующих 20. Кто-нибудь знает способ сделать это на Android?
@Пит
Я использую один поток на вызов. Я не был уверен, что несколько вызовов в одном потоке вызовут проблему.
@Override
protected Bitmap doInBackground(Void... params) {
try {
HttpURLConnection conn = (HttpURLConnection) url.openConnection();
conn.setDoInput(true);
conn.connect();
InputStream is = conn.getInputStream();
return BitmapFactory.decodeStream(is);
} catch (IOException e) {
e.printStackTrace();
return null;
}
}