所以我试图使用AsyncTask类一次加载大约25个图像。
简而言之,我在AsyncTask中调用它来从服务器下载图像:
Url = new URL(url);
HttpURLConnection urlConnection = (HttpURLConnection) Url.openConnection();
bitmap = BitmapFactory.decodeStream(urlConnection.getInputStream());
urlConnection.disconnect();
正如您在此视频中看到的,它会导致性能不佳。大概是因为当AsyncTask将每个图像排队时,它会一次加载一个图像,我想?
http://www.youtube.com/watch?v=7dqVqLn5Ibs
所以解决方案是异步加载它们,但我不知道如何在不需要大量新代码的情况下实现这一目标?
答案 0 :(得分:1)
您可以使用Universal image loader轻松完成此操作。 它将每个图像加载到单独的线程中。它非常易于使用,并且可以处理大部分内容,如缓存等。
用法:
ImageLoader imageLoader = ImageLoader.getInstance();
imageLoader.init(ImageLoaderConfiguration.createDefault(context));
imageLoader.displayImage(imageUrl, imageView);