ImageLoader初始化配置

2024-04-02 07:08

本文主要是介绍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初始化配置的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/869309

相关文章

IDEA中配置Tomcat全过程

《IDEA中配置Tomcat全过程》文章介绍了在IDEA中配置Tomcat的六步流程,包括添加服务器、配置部署选项、设置应用服务器及启动,并提及Maven依赖可能因约定大于配置导致问题,需检查依赖版本... 目录第一步第二步第三步第四步第五步第六步总结第一步选择这个方框第二步选择+号,找到Tomca

Win10安装Maven与环境变量配置过程

《Win10安装Maven与环境变量配置过程》本文介绍Maven的安装与配置方法,涵盖下载、环境变量设置、本地仓库及镜像配置,指导如何在IDEA中正确配置Maven,适用于Java及其他语言项目的构建... 目录Maven 是什么?一、下载二、安装三、配置环境四、验证测试五、配置本地仓库六、配置国内镜像地址

SpringBoot多环境配置数据读取方式

《SpringBoot多环境配置数据读取方式》SpringBoot通过环境隔离机制,支持properties/yaml/yml多格式配置,结合@Value、Environment和@Configura... 目录一、多环境配置的核心思路二、3种配置文件格式详解2.1 properties格式(传统格式)1.

Debian系和Redhat系防火墙配置方式

《Debian系和Redhat系防火墙配置方式》文章对比了Debian系UFW和Redhat系Firewalld防火墙的安装、启用禁用、端口管理、规则查看及注意事项,强调SSH端口需开放、规则持久化,... 目录Debian系UFW防火墙1. 安装2. 启用与禁用3. 基本命令4. 注意事项5. 示例配置R

C++11范围for初始化列表auto decltype详解

《C++11范围for初始化列表autodecltype详解》C++11引入auto类型推导、decltype类型推断、统一列表初始化、范围for循环及智能指针,提升代码简洁性、类型安全与资源管理效... 目录C++11新特性1. 自动类型推导auto1.1 基本语法2. decltype3. 列表初始化3

PyCharm中配置PyQt的实现步骤

《PyCharm中配置PyQt的实现步骤》PyCharm是JetBrains推出的一款强大的PythonIDE,结合PyQt可以进行pythion高效开发桌面GUI应用程序,本文就来介绍一下PyCha... 目录1. 安装China编程PyQt1.PyQt 核心组件2. 基础 PyQt 应用程序结构3. 使用 Q

Redis MCP 安装与配置指南

《RedisMCP安装与配置指南》本文将详细介绍如何安装和配置RedisMCP,包括快速启动、源码安装、Docker安装、以及相关的配置参数和环境变量设置,感兴趣的朋友一起看看吧... 目录一、Redis MCP 简介二、安www.chinasem.cn装 Redis MCP 服务2.1 快速启动(推荐)2.

Spring Bean初始化及@PostConstruc执行顺序示例详解

《SpringBean初始化及@PostConstruc执行顺序示例详解》本文给大家介绍SpringBean初始化及@PostConstruc执行顺序,本文通过实例代码给大家介绍的非常详细,对大家的... 目录1. Bean初始化执行顺序2. 成员变量初始化顺序2.1 普通Java类(非Spring环境)(

Spring Boot配置和使用两个数据源的实现步骤

《SpringBoot配置和使用两个数据源的实现步骤》本文详解SpringBoot配置双数据源方法,包含配置文件设置、Bean创建、事务管理器配置及@Qualifier注解使用,强调主数据源标记、代... 目录Spring Boot配置和使用两个数据源技术背景实现步骤1. 配置数据源信息2. 创建数据源Be

Olingo分析和实践之OData框架核心组件初始化(关键步骤)

《Olingo分析和实践之OData框架核心组件初始化(关键步骤)》ODataSpringBootService通过初始化OData实例和服务元数据,构建框架核心能力与数据模型结构,实现序列化、URI... 目录概述第一步:OData实例创建1.1 OData.newInstance() 详细分析1.1.1