0
我在我的项目中设置了一个viewpager滚动图像。我正在从由适配器管理的片段提供viewpager图像。这些图像要么存储,要么来自我的可绘制文件夹,要么来自网址。我一直在使用Android的Volley以及内存缓存来从网络中获取图像(url)。我的代码来填充片段如下:viewpager和异步加载
// case for no xml url's downloaded
if (url == null) {
ImageView image = new ImageView(getSherlockActivity());
image.setImageResource(imageResourceId);
image.setScaleType(ScaleType.FIT_XY);
layout.addView(image);
} else {
// use volley NetworkImageView
NetworkImageView image = new NetworkImageView(getSherlockActivity());
image.setImageUrl(url, ImageCacheManager.getInstance().getImageLoader());
image.setScaleType(ScaleType.FIT_XY);
layout.addView(image);
}
我发现,在图像滚动是在两种情况下呆滞,并怀疑在主队列中加载的问题。我应该使用“Universal Image Loader”而不是Volley吗?我已经看过Android的位图有趣的例子,但我担心复杂性,它能够处理URL和drawable。
在此先感谢您的帮助。
感谢您的回复。你回答假设图像存储在android的contentprovider媒体商店。在我的情况下,我有用于从服务器上拉下图像的网址。另外,当视图寻呼机在视图中循环时,onPostExecute运行时视图已经消失。我猜测最好的方法是内存/磁盘缓存。 – Jack120
@ Jack120这仅仅是异步任务实现的演示。我相信您可以进行必要的修改,以达到您希望的目的。其次,'pageview [position]'确保''onPostExecute''期间使用'position'变量提供唯一的引用。所以,即使它超出了范围,你也不会遇到任何问题。 – Shakti
我明白了。但我仍然需要将位图存入内存缓存中以备将来加载。 – Jack120