可能重复:
Android - How do I do a lazy load of images in ListView
美好的一天,我做了一个包含文字,图片和评级栏的列表视图。我使用已经完成的ksoap
来获取这些信息,它就像魅力一样!
现在有一个问题,正如我之前提到的,我确实在listview中有一个图像,如果我没有删除照片,它将变为laggy/slow response
但是在删除图像后,它将会只有textview和ratingbar才能再次变得平滑。
如果我想要包含图像,如何解决滞后问题。请告诉我你是否需要一个例子,所以我会发布android .apk。我希望有一个解决方案。 低于我在listview上的图像代码:
String s = strTitle[position];
System.out.println(s);
String image_URL = imageURL[position];
BitmapFactory.Options bmOptions;
bmOptions = new BitmapFactory.Options();
bmOptions.inSampleSize = 1;
Bitmap bm = LoadImage(image_URL, bmOptions);
ivLogo.setImageBitmap(bm);
return rowView;
private Bitmap LoadImage(String URL, BitmapFactory.Options options)
{
Bitmap bitmap = null;
InputStream in = null;
try {
in = OpenHttpConnection(URL);
bitmap = BitmapFactory.decodeStream(in, null, options);
in.close();
} catch (IOException e1) { }
return bitmap;
}
private InputStream OpenHttpConnection(String strURL) throws IOException{
InputStream inputStream = null;
URL url = new URL(strURL);
URLConnection conn = url.openConnection();
try{
HttpURLConnection httpConn = (HttpURLConnection)conn;
httpConn.setRequestMethod("GET");
httpConn.connect();
if (httpConn.getResponseCode() == HttpURLConnection.HTTP_OK)
{
inputStream = httpConn.getInputStream();
}
}
catch (Exception ex){ }
return inputStream;
}
答案 0 :(得分:5)
您必须使用LazyLaoding概念。在这里,您尝试下载移动中的图像,这是使您的listview滞后的原因。
这是链接,
Lazy load of images in ListView
你将能够找到关于懒惰的大量讨论,并且你可以看到这个答案,最着名的概念。
https://stackoverflow.com/a/3068012/603744
编辑1
你也可以看看无尽的适配器。这是一个样本,