Android - 在静态中使用通用图像加载器 class
Android - Using Universal Image Loader in static class
我可以在静态 class 中使用 Universal Image Loader 库吗?意味着创建一个图像加载器实例并将其修改为静态。
在不同的多个片段和 classes 中使用此库的最佳方法是什么?如何改进缓存功能?
ImageLoader.getInstance(); // Get singleton instance
上面的行将提供一个单例。你可以调用它然后执行你的加载
作为 doc shows there is a sample project,您可以从 github 下载。这个示例项目展示了如何正确使用这个库
我推荐你使用 Glide 一个非常好的图像加载器库,我自己已经尝试过并且很高兴使用它。
这是您需要阅读和实施的内容,以实现图像缓存和有效使用 lib
使用 Universal Image Loader 的最佳方式是在您的应用程序启动时创建一个实例,然后在整个应用程序中获取该实例
这是应用class
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” 属性
获取实例,在Activity
ImageLoader imageLoader = ((App)getApplicationContext()).getImageLoader();
外面Activity
ImageLoader imageLoader = ((App)context.getApplicationContext()).getImageLoader();
您可以参考this博客。
我可以在静态 class 中使用 Universal Image Loader 库吗?意味着创建一个图像加载器实例并将其修改为静态。
在不同的多个片段和 classes 中使用此库的最佳方法是什么?如何改进缓存功能?
ImageLoader.getInstance(); // Get singleton instance
上面的行将提供一个单例。你可以调用它然后执行你的加载
作为 doc shows there is a sample project,您可以从 github 下载。这个示例项目展示了如何正确使用这个库
我推荐你使用 Glide 一个非常好的图像加载器库,我自己已经尝试过并且很高兴使用它。
这是您需要阅读和实施的内容,以实现图像缓存和有效使用 lib
使用 Universal Image Loader 的最佳方式是在您的应用程序启动时创建一个实例,然后在整个应用程序中获取该实例
这是应用class
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” 属性
获取实例,在Activity
ImageLoader imageLoader = ((App)getApplicationContext()).getImageLoader();
外面Activity
ImageLoader imageLoader = ((App)context.getApplicationContext()).getImageLoader();
您可以参考this博客。