Android开源项目源码解读
mtaxot
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
JNI官方文档翻译7-Java线程和Native线程
在写这篇文章之前,我还是先简单概括一下第七章的内容:对于java程序而言,native是我们需要访问的库。但是对于一个单纯的c程序而言,我们可以使用一个特殊的c库来创建虚拟机。刚好相反。在C程序里创建一个java虚拟机,然后加载类,找到类里的main方法,然后执行,这样一个虚拟机就跑起来了。事实上,我们在命令行里输入java 命令,其实就是执行类似这样的程序。而java命令是个C程序,负责创建虚拟翻译 2016-05-27 10:25:18 · 4271 阅读 · 0 评论 -
UniversalImageLoader源码解读07-内存泄漏和bug
UIL使用单例模式 private volatile static ImageLoader instance; /** Returns singleton class instance */ public static ImageLoader getInstance() { if (instance == null) { synchronized (ImageLoader.cl原创 2016-05-12 14:43:09 · 1599 阅读 · 0 评论 -
UniversalImageLoader源码解读06-任务调度
在介绍了一些基本组件后,我们越来越接近核心逻辑,任务调度设计一些数据结构,这些数据结构决定了任务如何调度。 在开始之前,笔者建议如果读者还不知道ReentrantLock Condition如何使用,建议先查一下,否则理解线程如何调度有些困难 双端队列:既可以当栈使用,又可以当做队列使用, LIFO LIFO两种 框架使用的接口/** * I原创 2016-05-12 09:27:40 · 1098 阅读 · 0 评论 -
UniversalImageLoader源码解读05-磁盘缓存
磁盘缓存对于UniversalImageloader也是至关重要的,我们总不能每次显示图片都要去网络获取吧,即使有内存缓存,当重启手机,或者内存缓存被清理,那么还是要从网络上去获取,这就是磁盘缓存的意义。 框架中对于磁盘缓存的抽象是DiskCache ,我们先看一下定义:public interface DiskCache { /** * 返回缓存文件夹 */ File原创 2016-05-11 19:28:58 · 847 阅读 · 0 评论 -
UniversalImageLoader源码解读04-内存缓存
写到这里,我们越来越接近UniversalImageLoader的核心的,内存缓存和磁盘缓存是它的主要功能, 此外还有调度功能,也是很重要的一部分在com.nostra13.universalimageloader.cache.memory 包和com.nostra13.universalimageloader.cache.memory.impl 下核心接口:public in原创 2016-05-11 18:40:31 · 962 阅读 · 0 评论 -
UniversalImageLoader源码解读03-一些无关紧要的小类
在继续向下解读源码之前,我想介绍一下一些无关紧要的小类,这些类对于理解源码的主干帮助并不大,但是,了解这些类做到心中有数,对于源码的阅读速度是至关重要的。笔者就是通过阅读这些无关紧要的小类开始,逐步深入到主干。1,一些listener ,在com.nostra13.universalimageloader.core.listener包下, 主要的作用是监听图片的加载,以及控制图片的加载如果原创 2016-05-11 18:04:16 · 663 阅读 · 0 评论 -
UniversalImageLoader源码解读02-图片处理和显示
好了,有了ImageAware,我们知道是谁包装了我们的ImageView, 图片在哪里显示,现在我们把目光转向Bitmap的处理。 BitmapProcessor, 这个接口非常简单,只有一个方法Bitmap process(Bitmap bitmap); 可惜的是,框架并没有给我们提供默认实现,我们需要自己实现。比如我们想在图片的右下角加个水印,或者将图片变成灰度图,或者做个高斯原创 2016-05-11 17:09:17 · 1084 阅读 · 0 评论 -
UniversalImageLoader源码解读01-用来显示图片的ImageAware
Android平台下有一个著名的图片加载框架叫UniversalImageLoader,这个框架经过几次重构才有今天,有良好的扩展性。如果你曾经在ListView中加载图片出现过图片错乱,如果你曾经因加载图片过多而遇到OOM,那么你应该考虑使用UniversalImageLoader了。 UniversalImageLoader支持二级缓存,内存+磁盘缓存,图片一旦从网络下载后会原创 2016-05-11 16:02:22 · 1982 阅读 · 0 评论
分享