Cómo acelerar el análisis de datos y miniaturas del analizador RSS

Escribí un analizador de rss para mi aplicación de podcast. Si analizo un feed de rss con diferentes podcasts y muestro el resultado en un ListView, mi analizador tarda entre 1 y 2 segundos en analizar todo el feed.

Sin embargo, si quiero incluir una miniatura de cada podcast en mi ListView, Primero necesito descargar la miniatura y crear un mapa de bits con BitmapFactory y luego puedo almacenar el mapa de bits en un ImageView.

Desafortunadamente, esto extiende mi tiempo de ejecución de 1-2 segundos a 8-10 segundos.

Así es como tomo la miniatura. ¿Existe un método mejor (y más rápido) para lograr lo que quiero hacer y si lo hay, cómo puedo lograrlo?

Gracias de antemano.

...
else if (name.equalsIgnoreCase(THUMBNAIL)) {
    HttpGet get = new HttpGet(parser.nextText());
    if (get != null && get.getURI().toString().length()>1) {
        HttpClient client = new DefaultHttpClient();
        HttpResponse response = client.execute(get);
        if (response.getStatusLine().getStatusCode() == HttpStatus.SC_OK) {
            HttpEntity entity = response.getEntity();
            if (entity != null) {
                byte[] bb = EntityUtils.toByteArray(entity);
                currentItem.setBitmap(BitmapFactory.decodeByteArray(bb, 0, bb.length));
            }
     }
}

preguntado el 27 de agosto de 11 a las 14:08

1 Respuestas

Debería usar un hilo separado para descargar los mapas de bits. Esto se llama carga diferida. Mira mi tutorial: http://negativeprobability.blogspot.com/2011/08/lazy-loading-of-images-in-listview.html

o las respuestas a esta pregunta: Carga diferida de imágenes en ListView

contestado el 23 de mayo de 17 a las 15:05

Gran tutorial. Me empieza a gustar mucho este lugar aquí :) - NewProggie

No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas or haz tu propia pregunta.