以下は、リストビューの各行に画像を追加するために使用するスニペットです。
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 回だけです。メモリ関連ですか?
どんな助けでも大歓迎です。