如何加快RSS解析器解析Feed和缩略图
问题描述:
我为我的播客应用程序编写了一个rss解析器。如果我使用不同的播客解析RSS提要并在ListView
中显示结果,则解析器需要大约1-2秒才能解析整个提要。如何加快RSS解析器解析Feed和缩略图
但是,如果我要包括的每个播客的缩略图在我ListView
,我需要先下载缩略图,并创建BitmapFactory
一个位图,然后我可以将位图存储到ImageView
。
不幸的是,这延长了我的执行时间从1-2秒到8-10秒。
这就是我如何抓住缩略图。是否有更好(更快)的方法来实现我想要做的事情?如果有,我该如何实现?
在此先感谢。
...
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));
}
}
}
答
您应该使用单独的线程来下载位图。这被称为延迟加载。见我的教程: http://negativeprobability.blogspot.com/2011/08/lazy-loading-of-images-in-listview.html
或这个问题的答案: Lazy load of images in ListView
伟大的教程。我开始喜欢这个地方很多:) – NewProggie