0

以下は、リストビューの各行に画像を追加するために使用するスニペットです。

while (adapterDeal.getNextImageLink() != null) {
            System.out.println("Inside while loop for images");
            try {
                url = new URL(adapterDeal.getNextImageLink());
                stream = (InputStream) url.getContent();
                drawable = Drawable.createFromStream(stream, "src");
                adapterDeal.setImage(drawable);
                handler.sendEmptyMessage(IMAGE_DOWNLOADED);
            } catch (MalformedURLException e) {
                System.out.println("Inside MalformedURLException"+e);
                packAndSendMessage(e);
            } catch (IOException e) {
                System.out.println("Inside IOException"+e);
                packAndSendMessage(e);
            }
            break;
        }

ハンドラー内で、notifydatasetchanged を実行して、リストビューの行を画像で更新します。

私が抱えている問題は、リストビューの行数が「n」であり、各行にも画像のURLがあるとはいえ、whileループ内に1回だけ入ることです。

DDMS で初めて while ループに入ると、次のように表示されます。

01-26 23:32:27.104: I/System.out(1628): Inside while loop for images
01-26 23:32:28.434: D/dalvikvm(1628): GC_FOR_ALLOC freed 45K, 8% free 5901K/6407K, paused 120ms
01-26 23:32:28.453: I/dalvikvm-heap(1628): Grow heap (frag case) to 6.467MB for  640016-byte allocation
01-26 23:32:28.714: D/dalvikvm(1628): GC_CONCURRENT freed 1K, 8% free 6525K/7047K, paused 16ms+12ms

理由は何でしょうか。while ループの中に入るのは 1 回だけです。メモリ関連ですか?

どんな助けでも大歓迎です。

4

1 に答える 1

2

ループの一番下に休憩があるため ;-)

于 2013-01-26T21:23:45.927 に答える