У меня проблемы с элементами списка. Я динамически получаю некоторые изображения из файла XML, загружаю изображение и устанавливаю его.
Я пытаюсь примитивно кэшировать полученную битовую карту, чтобы ускорить процесс getView моего адаптера listviews. Но при попытке прокрутить мой список, кажется, что телефон "зависает".
Это часть моего кода, которая отвечает за "лаг":
if( ni.Bitmap == null )
{
Pattern p = Pattern.compile("<img[^>]+src\\s*=\\s*['\"]([^'\"]+)['\"][^>]*>");
Matcher m = p.matcher(ni.Description);
boolean result = m.find();
if( result )
{
try {
Bitmap bitmap = BitmapFactory.decodeStream((InputStream)new URL(m.group(1)).getContent());
ni.Bitmap = bitmap;
holder.theimage.setImageBitmap(ni.Bitmap);
} catch (MalformedURLException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
}
else
holder.theimage.setImageBitmap(ni.Bitmap);
Могу ли я в любом случае ускорить этот процесс?