Я хотел использовать AsyncTask для загрузки изображений в ListView.
private class LoadImageTask extends AsyncTask<HashMap<String,Bitmap>,Void,Bitmap>{
@SuppressWarnings("unchecked")
@Override
protected void onPostExecute(Bitmap result) {
if(model.getIconCache().get(cellIcon)!=null){
icon.setImageBitmap(model.getIconCache().get(cellIcon));
}else{
new LoadImageTask().execute(model.getIconCache());
}
}
@Override
protected Bitmap doInBackground(HashMap<String, Bitmap>... params) {
//return model.getIconCache().get(cellIcon);
return null;
}
}
Хорошо, я знаю, что это не аффективный код.Однако это работает хорошо, но с большим количеством памяти.Читая документацию об AsyncTask, он сказал, что Asynctask может вызываться только из потока пользовательского интерфейса, как он может позволить использовать внутри себя?И, конечно же, я хочу, чтобы мой код работал внутри одного AsyncTask.«Модель» в коде - это объект, который обновляется во время выполнения через другой поток.Поэтому мне нужно найти способ использовать одну Asynctask с периодическим контролем состояния объекта.Как я могу это сделать?Спасибо