本文主要是介绍ImageLoader初始化配置,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
添加依赖
compile 'com.nostra13.universalimageloader:universal-image-loader:1.9.5'
新建ImageApplication 继承Application
在onCreate()方法里ImageLoaderUtils.initConfigration(this)初始化配置
清单文件中加权限
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /><uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
单独写的工具类ImageLoaderUtils
import android.content.Context;
import android.graphics.Bitmap;import com.nostra13.universalimageloader.cache.disc.impl.UnlimitedDiskCache;
import com.nostra13.universalimageloader.cache.disc.naming.HashCodeFileNameGenerator;
import com.nostra13.universalimageloader.cache.memory.impl.LruMemoryCache;
import com.nostra13.universalimageloader.core.DisplayImageOptions;
import com.nostra13.universalimageloader.core.ImageLoader;
import com.nostra13.universalimageloader.core.ImageLoaderConfiguration;
import com.nostra13.universalimageloader.core.assist.ImageScaleType;
import com.nostra13.universalimageloader.core.assist.QueueProcessingType;
import com.nostra13.universalimageloader.core.decode.BaseImageDecoder;
import com.nostra13.universalimageloader.core.display.CircleBitmapDisplayer;
import com.nostra13.universalimageloader.core.display.RoundedBitmapDisplayer;
import com.nostra13.universalimageloader.core.download.BaseImageDownloader;
import com.nostra13.universalimageloader.utils.StorageUtils;import java.io.File;/*** @author Dash* @date 2017/9/6* @description:*/
public class ImageLoaderUtils {/*** 初始化imageloader的配置* @param context*/public static void initConfigration(Context context) {File cacheDir = StorageUtils.getCacheDirectory(context); //缓存文件夹路径ImageLoaderConfiguration config = new ImageLoaderConfiguration.Builder(context).threadPoolSize(3)//一般就是3,,,1-5.threadPriority(Thread.NORM_PRIORITY - 2) // default 设置当前线程的优先级,,,1-10.tasksProcessingOrder(QueueProcessingType.FIFO) // default.denyCacheImageMultipleSizesInMemory()//拒绝缓存加载内容相同但大小不同的图片.memoryCache(new LruMemoryCache(2 * 1024 * 1024)) //可以通过自己的内存缓存实现.memoryCacheSize(2 * 1024 * 1024) // 内存缓存的最大值.memoryCacheSizePercentage(13) // default.diskCache(new UnlimitedDiskCache(cacheDir)) // default 可以自定义缓存路径.diskCacheSize(50 * 1024 * 1024) // 50 Mb sd卡(本地)缓存的最大值.diskCacheFileCount(100) // 可以缓存的文件数量// default为使用HASHCODE对UIL进行加密命名, 还可以用MD5(new Md5FileNameGenerator())加密.diskCacheFileNameGenerator(new HashCodeFileNameGenerator()).imageDownloader(new BaseImageDownloader(context)) // default.imageDecoder(new BaseImageDecoder(true)) // default.defaultDisplayImageOptions(DisplayImageOptions.createSimple()) // default.writeDebugLogs() // 打印debug log.build(); //开始构建//初始化ImageLoader.getInstance().init(config);}public static DisplayImageOptions getDefautOption() {DisplayImageOptions imageOptions = new DisplayImageOptions.Builder().showImageForEmptyUri(R.mipmap.ic_launcher).showImageOnFail(R.mipmap.ic_launcher).showImageOnLoading(R.mipmap.ic_launcher).cacheInMemory(true).cacheOnDisk(true).imageScaleType(ImageScaleType.EXACTLY_STRETCHED).resetViewBeforeLoading(true)//在加载之前复位一下显示.bitmapConfig(Bitmap.Config.RGB_565)//图片的质量.considerExifParams(true)///是否考虑JPEG图像EXIF参数(旋转,翻转).build();return imageOptions;}/*** 圆形图片的配置* @return*/public static DisplayImageOptions getCircleOption() {DisplayImageOptions imageOptions = new DisplayImageOptions.Builder().showImageForEmptyUri(R.mipmap.ic_launcher).showImageOnFail(R.mipmap.ic_launcher).showImageOnLoading(R.mipmap.ic_launcher).cacheInMemory(true).cacheOnDisk(true).imageScaleType(ImageScaleType.EXACTLY_STRETCHED).resetViewBeforeLoading(true)//在加载之前复位一下显示.bitmapConfig(Bitmap.Config.RGB_565)//图片的质量.considerExifParams(true)///是否考虑JPEG图像EXIF参数(旋转,翻转).displayer(new CircleBitmapDisplayer())//圆形显示.build();return imageOptions;}/*** 加载圆角图片* @return*/public static DisplayImageOptions getBoundOption() {DisplayImageOptions imageOptions = new DisplayImageOptions.Builder().showImageForEmptyUri(R.mipmap.ic_launcher).showImageOnFail(R.mipmap.ic_launcher).showImageOnLoading(R.mipmap.ic_launcher).cacheInMemory(true).cacheOnDisk(true).imageScaleType(ImageScaleType.EXACTLY_STRETCHED).resetViewBeforeLoading(true)//在加载之前复位一下显示.bitmapConfig(Bitmap.Config.RGB_565)//图片的质量.considerExifParams(true)///是否考虑JPEG图像EXIF参数(旋转,翻转).displayer(new RoundedBitmapDisplayer(20))//指定加载圆角的大小.build();return imageOptions;}
}
这篇关于ImageLoader初始化配置的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!