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 以使用图像更新 listview 行。

我遇到的问题是,它只进入 while 循环一次,尽管我在 listview 中有“n”行,并且每行也有一个图像 url。

第一次进入 while 循环后,在 DDMS 中,它显示:

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循环一次。和内存有关吗?

任何帮助表示赞赏。

4

1 回答 1

2

因为你在循环的底部有一个休息;-)

于 2013-01-26T21:23:45.927 回答