1 图片同步加载
2 图片异步加载
3 图片压缩
4 内存缓存
5 磁盘缓存
6 网络拉取
1 imageloader 的核心是2级缓存,这2级缓存极大的提高程序效率且有效的降低用户所造成的流量消耗
2 图片的同步加载 要检验当前线程的Looper 是不是主线程Looper 来判断当前的线程是不是主线程,如果不是主线程就直接抛异常,对于异步加载ImageLoader 直接采用主线程的Looper 来构造Handler 对象,这就使得ImageView 可以在主线程中构建了,另外为了解决有由于View 复用导致的列表错位的问题,在Image设置图片之前 都会检查它的Url 有没有发生改变,如果发生改变就不给他设置图片了。
3 缓存 是用了LruCache 和 DiskLruCache 这两种的缓存策略,