0

ポッドキャストアプリ用にRSSパーサーを作成しました。さまざまなポッドキャストでRSSフィードを解析し、その結果をで表示しているListView場合、パーサーがフィード全体を解析するのに約1〜2秒かかります。

ただし、各ポッドキャストのサムネイルをに含めたい場合は、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));
            }
     }
}
4

1 に答える 1

1

ビットマップをダウンロードするには、別のスレッドを使用する必要があります。これは遅延読み込みと呼ばれます。私のチュートリアルを参照してください: http://negativeprobability.blogspot.com/2011/08/lazy-loading-of-images-in-listview.html

またはこの質問への答え: ListView での画像の遅延ロード

于 2011-08-27T15:05:29.117 に答える