Androidandroid开发Android开发

Android UIL图片加载框架学习

2016-03-11  本文已影响421人  陈哟哟

单张图片加载模型


单张图片加载模型

图片加载步骤:

注意事项:

多张图片的缓存模型


多张图片加载的缓存模型

场景:

解决方案:

注意事项:

UIL 框架源码结构

———

UIL代码结构

流程控制:
ImageLoader 入口类;
ImageLoaderEngine 提供线程池;
XXXXXTask ,Runnable 接口实现类,具体的流程控制类,会被丢到线程池中执行 ;

具体的实现:
downloader 目录: 文件加载,从网络,本地,res ,assert 加载图片数据到内存中;
decode 目录:对加载进来的流数据进行解码,得到Bitmap 数据 ;
display 目录:对需要显示的bitmap数据进行处理,比如显示倒影,圆角等;
imageaware 目录: bitmap显示封装类,提供统一的图片数据显示方式;
listener 目录:图片加载过程的回调接口,通知流程进度和事件;
memory 目录:内存缓存模型,提供各种策略的缓存方式;
disc 目录:磁盘缓存模型,提供各种磁盘缓存方式;

类结构与加载模型对应关系


Paste_Image.png

类与流程

UIL 流程控制:ImageLoader 中生成Task ,提交到ImageLoaderEngine 中的线程池中执行;
具体的执行过程:downloader -> disc ->decode ->memory->display->imageaware ;

UIL类和流程.png
上一篇 下一篇

猜你喜欢

热点阅读