2011-08-27 17 views
0

私のポッドキャストアプリケーション用のrssパーサを作成しました。異なるPodcastを使ってrssフィードを解析し、その結果をListViewに表示すると、パーサがフィード全体を解析するのに約1〜2秒かかります。私は私のListViewに各ポッドキャストのサムネイルを含める場合RSS Parserを高速化する方法フィードとサムネイルの解析

しかし、私が最初にサムネイルをダウンロードして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)); 
      } 
    } 
} 

答えて

1

ビットマップをダウンロードするには、別のスレッドを使用する必要があります。これは遅延ロードと呼ばれます。 http://negativeprobability.blogspot.com/2011/08/lazy-loading-of-images-in-listview.html

またはこの質問への回答: Lazy load of images in ListView

+0

グレートチュートリアル私のチュートリアルを参照してください。私はここにたくさんこの場所が好きになる:) – NewProggie

関連する問題