使用列表视图或网格视图来显示图像。
您可以使用https://github.com/nostra13/Android-Universal-Image-Loader Universal Image Loader 从 MediaStore 或网络加载图像。使用缓存。基于延迟加载,但具有更多配置选项。
在您的适配器构造器中
File cacheDir = StorageUtils.getOwnCacheDirectory(a, "UniversalImageLoader/Cache");
// Get singletone instance of ImageLoader
imageLoader = ImageLoader.getInstance();
// Create configuration for ImageLoader (all options are optional)
ImageLoaderConfiguration config = new ImageLoaderConfiguration.Builder(a)
// You can pass your own memory cache implementation
.discCache(new UnlimitedDiscCache(cacheDir)) // You can pass your own disc cache implementation
.discCacheFileNameGenerator(new HashCodeFileNameGenerator())
.enableLogging()
.build();
// Initialize ImageLoader with created configuration. Do it once.
imageLoader.init(config);
options = new DisplayImageOptions.Builder()
.showStubImage(R.drawable.stub_id)//dummy image
.cacheInMemory()
.cacheOnDisc()
.displayer(new RoundedBitmapDisplayer(20))
.build();
在你的 getView()
ImageView image=(ImageView)vi.findViewById(R.id.imageview);
imageLoader.displayImage(imageurl, image,options);
您也可以使用https://github.com/thest1/LazyList。还使用缓存。
还可以在 listview 或 grdiview 中使用 ViewHolder。http://developer.android.com/training/improving-layouts/smooth-scrolling.html。