Universalimageloader图片加载框架缓存本地图片的使用
2017-06-27 15:27
441 查看
Universalimageloader图片加载框架缓存本地图片的使用
首先需要添加依赖: ……………
在项目中创建一个自己的Application,编写以下代码:
public class NewsApplication extends Application {
@Override public void onCreate() { super.onCreate(); //配置网络加载图片的信息 File cacheDir = new File(getExternalCacheDir() + "/image"); //设置缓存位置 ImageLoaderConfiguration config = new ImageLoaderConfiguration.Builder(this) .diskCacheExtraOptions(480, 800, null) .denyCacheImageMultipleSizesInMemory() .memoryCache(new LruMemoryCache(2 * 1024 * 1024)) //设置缓存大小 .memoryCacheSize(2 * 1024 * 1024) .diskCache(new UnlimitedDiskCache(cacheDir)) // default .diskCacheSize(50 * 1024 * 1024) .diskCacheFileCount(100) .diskCacheFileNameGenerator(new HashCodeFileNameGenerator()) // default .writeDebugLogs() .build(); ImageLoader.getInstance().init(config); }
下面在附上一个加载工具类,可直接使用:
public class ImageUtil {
private final ImageLoader mImageLoader; private DisplayImageOptions mOptions; private int mDefaultPicId = R.drawable.icon_default;//记录每次设置的默认展示图片 private static volatile ImageUtil sInstance; //UIL Volley(不推荐) Picasso Glide(虽然是基于Picasso,有一些特点:可以加载动图gif,占用空间小) //Fresco (facebook 包非常大,加载图片比较专业 ,图片消耗的资源比较大,容易OOM ) private ImageUtil(){ mImageLoader = ImageLoader.getInstance(); mOptions = new DisplayImageOptions.Builder() .showImageOnLoading(R.drawable.icon_default)// 加载的时候显示的图片 .showImageOnFail(R.drawable.icon_default) //失败的时候加载 .resetViewBeforeLoading(false) // default .delayBeforeLoading(100) .cacheInMemory(true) // default .cacheOnDisk(true) // default .imageScaleType(ImageScaleType.IN_SAMPLE_POWER_OF_2) // default .bitmapConfig(Bitmap.Config.ARGB_8888) // default .build(); } public static ImageUtil getSingleton() { if (sInstance == null) { synchronized (ImageUtil.class) { if (sInstance == null) { sInstance = new ImageUtil(); } } } return sInstance; } public void display(String picUrl, ImageView imageView){ display(picUrl,imageView,R.drawable.icon_default); } public void display(String picUrl, ImageView imageView,int defaultPicId){ if(defaultPicId!=mDefaultPicId){ mDefaultPicId = defaultPicId;//记录 mOptions = new DisplayImageOptions.Builder() .showImageOnLoading(defaultPicId) // resource or drawable .resetViewBeforeLoading(false) // default .delayBeforeLoading(100) .cacheInMemory(true) // default .cacheOnDisk(true) // default .imageScaleType(ImageScaleType.IN_SAMPLE_POWER_OF_2) // default .bitmapConfig(Bitmap.Config.ARGB_8888) // default .build(); } mImageLoader.displayImage(picUrl,imageView,mOptions); }
}
相关文章推荐
- Android 中网络图片加载(包括本地图片的加载) 框架 universal image loader 的简单使用
- Android第三方框架universal-image-loader[图片缓存加载]及其OOM问题处理【常用】,CardView使用[给列表中项+边框]
- (源码分析)Android-Universal-Image-Loader (图片异步加载缓存库)的使用配置
- 图片加载框架Android-Universal-Image-Loader使用及解析
- android--------Universal-Image-Loader图片加载框架和结合LruCache缓存图片
- android--------Universal-Image-Loader图片加载框架和结合LruCache缓存图片
- Universal-Image-Loader(UIL)图片加载框架使用简单介绍
- android--------Universal-Image-Loader图片加载框架和结合LruCache缓存图片
- 图片加载框架---UniversalImageLoader使用(一)
- 【Jacky's Note】浅析开源图片加载缓存框架-UniversalImageLoader(UIL)
- 在使用Android-Universal-Image-Loader-master这个开源的图片缓存框架的时候,在下拉刷新时,出现闪烁的解决方案
- Android-Universal-Image-Loader图片加载框架使用
- 图片(图片路径需分割)使用Universal-Image-Loader加载并设置内存和sd卡缓存,导入XListView库,并实现下拉刷新、上拉加载更多。
- 使用UniversalImageLoader 加载网络图片并附带缓存效果
- Android图片缓存框架Android-Universal-Image-Loader的使用详解
- 图片加载框架---UniversalImageLoader使用(一)
- 如何使用Universal Image Loader加载本地图片
- 异步加载图片框架Android-Universal-Image-Loader的使用
- 使用universalimageloader图片加载框架,正确加载却无法显示图片问题的处理
- 使用 Android-Universal-Image-Loader 图片加载框架,加载图片