我在我的应用程序中有一个自定义列表视图,它显示图像和文本。 我从URL获取的图片,使用以下代码:
private static Drawable ImageOperations(Context ctx, String url,
String saveFilename) {
try {
InputStream is = (InputStream) fetch(url);
Drawable d = Drawable.createFromStream(is, "src");
return d;
} catch (MalformedURLException e) {
e.printStackTrace();
return null;
} catch (IOException e) {
e.printStackTrace();
return null;
}
}
public static Object fetch(String address) throws MalformedURLException,
IOException {
URL url = new URL(address);
Object content = url.getContent();
return content;
}
一切都很完美,除了列表视图滚动,它非常慢。如果我禁用图像,滚动速度平滑,但启用图像后,它会滞后很多。
有没有办法减少或消除这种滞后?
由于
答案 0 :(得分:3)
您需要在后台进行提取。 您可以使用的示例之一: http://android-developers.blogspot.com/2010/07/multithreading-for-performance.html
答案 1 :(得分:2)
使用此库在后台和缓存中下载图像.. 它不会伤害用户界面 https://github.com/koush/UrlImageViewHelper
答案 2 :(得分:1)
你是否懒得加载你的图片? See this question for details