我可以在静态类中使用Universal Image Loader lib吗?这意味着创建一个图像加载器实例并将其修改为静态。
在不同的多个片段和类中使用此lib的最佳方法是什么?如何改进缓存功能?
答案 0 :(得分:3)
<强> ImageLoader.getInstance(); // Get singleton instance
强>
以上行将提供单身人士。你可以调用它然后执行加载
正如doc所示,您可以从github下载sample project。此示例项目显示了如何正确使用此库
答案 1 :(得分:2)
使用Universal Image Loader的最佳方法是在应用启动时创建单个实例,然后在整个应用中获取该实例
这是App类
public class App extends Application {
public ImageLoader imageLoader;
public ImageLoader getImageLoader() {
return imageLoader;
}
@Override
public void onCreate() {
super.onCreate();
// UNIVERSAL IMAGE LOADER SETUP
DisplayImageOptions defaultOptions = new DisplayImageOptions.Builder()
.resetViewBeforeLoading(true)
.cacheOnDisk(true)
.cacheInMemory(true)
.displayer(new FadeInBitmapDisplayer(300))
.build();
ImageLoaderConfiguration config = new ImageLoaderConfiguration.Builder(getApplicationContext())
.defaultDisplayImageOptions(defaultOptions)
.memoryCache(new WeakMemoryCache())
.diskCacheSize(100 * 1024 * 1024)
.build();
this.imageLoader = ImageLoader.getInstance();
imageLoader.init(config);
// END - UNIVERSAL IMAGE LOADER SETUP
}
}
确保 AndroidManifest.xml中的应用程序代码具有android:name =“。App”属性
在活动中获取实例
ImageLoader imageLoader = ((App)getApplicationContext()).getImageLoader();
户外活动
ImageLoader imageLoader = ((App)context.getApplicationContext()).getImageLoader();
您可以参考this博客。
答案 2 :(得分:1)
我建议你使用Glide一个非常漂亮的图像加载器库,我自己也尝试过使用它。
这是您需要阅读和实现的图像缓存和有效使用lib