xUtils源码阅读(3)-ImageManagerImpl
来源:互联网 发布:c语言返回值什么意思 编辑:程序博客网 时间:2024/05/21 09:16
ImageManager的实现类。
源码:
/** * Created by wyouflf on 15/10/9. */public final class ImageManagerImpl implements ImageManager { private static final Object lock = new Object(); private static volatile ImageManagerImpl instance; private ImageManagerImpl() { } public static void registerInstance() {//单例模式 if (instance == null) { synchronized (lock) { if (instance == null) { instance = new ImageManagerImpl(); } } } x.Ext.setImageManager(instance);//自己注册到x.Ext中 } @Override public void bind(final ImageView view, final String url) {//任务交给x.Ext的Task处理,具体采用ImageLoader进行 x.task().autoPost(new Runnable() { @Override public void run() { ImageLoader.doBind(view, url, null, null); } }); } @Override public void bind(final ImageView view, final String url, final ImageOptions options) { x.task().autoPost(new Runnable() { @Override public void run() { ImageLoader.doBind(view, url, options, null); } }); } @Override public void bind(final ImageView view, final String url, final Callback.CommonCallback<Drawable> callback) { x.task().autoPost(new Runnable() { @Override public void run() { ImageLoader.doBind(view, url, null, callback); } }); } @Override public void bind(final ImageView view, final String url, final ImageOptions options, final Callback.CommonCallback<Drawable> callback) { x.task().autoPost(new Runnable() { @Override public void run() { ImageLoader.doBind(view, url, options, callback); } }); } @Override public Callback.Cancelable loadDrawable(String url, ImageOptions options, Callback.CommonCallback<Drawable> callback) { return ImageLoader.doLoadDrawable(url, options, callback); } @Override public Callback.Cancelable loadFile(String url, ImageOptions options, Callback.CacheCallback<File> callback) { return ImageLoader.doLoadFile(url, options, callback); } @Override public void clearMemCache() { ImageLoader.clearMemCache(); } @Override public void clearCacheFiles() { ImageLoader.clearCacheFiles(); ImageDecoder.clearCacheFiles(); }}
实现的核心有下面几点:
1、单例模式
2、主动注册
3、任务由task处理
4、具体执行有imageLoader执行
0 0
- xUtils源码阅读(3)-ImageManagerImpl
- xUtils源码阅读(1)- x
- xUtils源码阅读(4)-MemCacheKey
- xUtils源码阅读(5)-ReuseableBitmapDrawable
- xUtils源码阅读(6)-AsyncDrawable
- xUtils源码阅读(7)-GitDrawable
- xUtils源码阅读(8)-ImageDecoder
- xUtils源码阅读(2)-ImageManager
- struts1源码阅读(3)
- XUtils源码分析之HttpUtils(一)
- xUtils 源码解析
- xUtils 源码解析
- xUtils 源码解析
- xUtils 源码解析
- xUtils 源码解析
- XUtils 源码解析
- xUtils 源码解析
- Eclipse 导入 xUtils 源码
- 遍历指定目录下所有子目录和子文件的函数
- 适合移动设备的小巧jQuery颜色拾取器插件
- 接上,struts2访问页面元素的另一种方法。
- Ext.XTemplate加载拥有头像的用户
- 安全起见,小心使用C语言realloc()函数
- xUtils源码阅读(3)-ImageManagerImpl
- Hibernate的核心API
- 8月房价上涨城市数量增多 涨幅全线扩大
- Linux ALSA声卡驱动之一:ALSA架构简介
- Java之多线程锁
- 策略模式【Strategy Pattern】
- 关于flask中文件下载的实例
- ARP协议解析
- JS加PHP动态倒计时(定时器)