学习Universal-Image-Loader类库

本文详细介绍了Android-Universal-Image-Loader这一开源组件,它能够实现异步图像加载、缓存及显示等功能,并提供了丰富的配置选项。文中还包含了具体的配置示例及关键参数解释。
demo在附件
写道
来自互联网资料:
Android-Universal-Image-Loader是一个开源的UI组件程序,该项目的目的是提供一个可重复使用的仪器为异步图像加 载,缓存和显示。
特点
多线程的图像加载的可能性的宽调谐对ImageLoader的配置(线程池的大小,HTTP选项,内存和光盘高速缓存,显示图像,以及其他)
的图像的可能性中的缓存存储器和/或设备的文件器系统(或SD卡)可以监听加载过程中
可自定义每个显示的图像调用分隔的选项
Widget支持
Android 2.0上支持

使用方法
缓存不是默认启用
1、DisplayImageOptions的配置
DisplayImageOptions imageOptions = new DisplayImageOptions.Builder()
.showImageOnLoading(R.drawable.ic_launcher)// 加载时显示的默认图片
.showImageForEmptyUri(R.drawable.ic_empty)// 加载url=null时显示的默认图片
.showImageOnFail(R.drawable.ic_error) // 加载出错时显示错误的默认图片
.cacheInMemory(true)//开启内存缓存
.cacheOnDisc(true) //开启硬盘缓存
.bitmapConfig(Bitmap.Config.RGB_565) //图片色值配置
.build();

2、ImageLoaderConfiguration的配置

// 自定义缓存路径
File cacheDir = StorageUtils.getOwnCacheDirectory(getApplicationContext(), mCache);
ImageLoaderConfiguration config = new ImageLoaderConfiguration.Builder(getApplicationContext())
.memoryCacheExtraOptions(480, 800) // default = device screen dimensions
.discCacheExtraOptions(480, 800, CompressFormat.JPEG, 85, null)
.taskExecutor(AsyncTask.THREAD_POOL_EXECUTOR)//3.0才支持
.taskExecutorForCachedImages(AsyncTask.THREAD_POOL_EXECUTOR)//3.0才支持
.threadPoolSize(Thread.NORM_PRIORITY)// default 3
.threadPriority(Thread.NORM_PRIORITY - 1)// default 线程优先级别
.tasksProcessingOrder(QueueProcessingType.FIFO)// default
.denyCacheImageMultipleSizesInMemory()
.memoryCache(new LruMemoryCache(2 * 1024 * 1024)) // 2M
.memoryCacheSize(2 * 1024 * 1024)// 2M
// .discCache(new UnlimitedDiscCache(cacheDir)) // default UnlimitedDiscCache ,HashCodeFileNameGenerator
.discCache(new UnlimitedDiscCache(cacheDir,new Md5FileNameGenerator())) // default UnlimitedDiscCache
.discCacheSize(50 * 1024 * 1024) // 本地缓存大小50M
.discCacheFileCount(100) // 文件数量
// .discCacheFileNameGenerator(new HashCodeFileNameGenerator())// default
// .discCacheFileNameGenerator(new Md5FileNameGenerator()) // 文件命名器
.imageDownloader(new BaseImageDownloader(getApplicationContext())) // default
.imageDecoder(new BaseImageDecoder(true)) // default
.defaultDisplayImageOptions(imageOptions) // default DisplayImageOptions.createSimple()
.writeDebugLogs()
.build();


ImageLoader mImageLoader = ImageLoader.getInstance();
mImageLoader.init(config);


3、部分参数解释:
//设置图片在下载期间显示的图片
showStubImage(R.drawable.ic_launcher)

//设置图片Uri为空或是错误的时候显示的图片
showImageForEmptyUri(R.drawable.ic_empty)

//设置图片加载/解码过程中错误时候显示的图片
showImageOnFail(R.drawable.ic_error)

//设置图片在下载前是否重置,复位
resetViewBeforeLoading()

//设置下载的图片是否缓存在内存中
cacheInMemory()

//设置下载的图片是否缓存在SD卡中
cacheOnDisc()

//设置图片的解码类型
bitmapConfig(Bitmap.Config.RGB_565)

//设置图片的解码配置
decodingOptions(android.graphics.BitmapFactory.Options decodingOptions)

//设置图片下载前的延迟
delayBeforeLoading(int delayInMillis)

//设置额外的内容给ImageDownloader
extraForDownloader(Object extra)

//设置图片加入缓存前,对bitmap进行设置
preProcessor(BitmapProcessor preProcessor)

//设置显示前的图片,显示后这个图片一直保留在缓存中
postProcessor(BitmapProcessor postProcessor)

//设置图片以如何的编码方式显示
imageScaleType(ImageScaleType imageScaleType)


/**
* 设置图片的显示方式
* @param displayer
*/
displayer(BitmapDisplayer displayer)
displayer:
RoundedBitmapDisplayer(int roundPixels)设置圆角图片
FakeBitmapDisplayer()这个类什么都没做
FadeInBitmapDisplayer(int durationMillis)设置图片渐显的时间
    SimpleBitmapDisplayer()正常显示一张图片  


/**
* 图片的缩放方式
* @param imageScaleType
*/
imageScaleType(ImageScaleType imageScaleType)
imageScaleType:
EXACTLY :图像将完全按比例缩小的目标大小
EXACTLY_STRETCHED:图片会缩放到目标大小完全
IN_SAMPLE_INT:图像将被二次采样的整数倍
IN_SAMPLE_POWER_OF_2:图片将降低2倍,直到下一减少步骤,使图像更小的目标大小
NONE:图片不会调整

4、权限

<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />

 

【EI复现】基于深度强化学习的微能源网能量管理与优化策略研究(Python代码实现)内容概要:本文围绕“基于深度强化学习的微能源网能量管理与优化策略”展开研究,重点利用深度Q网络(DQN)等深度强化学习算法对微能源网中的能量调度进行建模与优化,旨在应对可再生能源出力波动、负荷变化及运行成本等问题。文中结合Python代码实现,构建了包含光伏、储能、负荷等元素的微能源网模型,通过强化学习智能体动态决策能量分配策略,实现经济性、稳定性和能效的多重优化目标,并可能与其他优化算法进行对比分析以验证有效性。研究属于电力系统与人工智能交叉领域,具有较强的工程应用背景和学术参考价值。; 适合人群:具备一定Python编程基础和机器学习基础知识,从事电力系统、能源互联网、智能优化等相关方向的研究生、科研人员及工程技术人员。; 使用场景及目标:①学习如何将深度强化学习应用于微能源网的能量管理;②掌握DQN等算法在实际能源系统调度中的建模与实现方法;③为相关课题研究或项目开发提供代码参考和技术思路。; 阅读建议:建议读者结合提供的Python代码进行实践操作,理解环境建模、状态空间、动作空间及奖励函数的设计逻辑,同时可扩展学习其他强化学习算法在能源系统中的应用。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值