SmartImageView貌似出来很久了 ,记得一开始介入Android的时候,它就出现在了我的视线里,因为简单好用,貌似也流行一时,用的不亦乐乎。SmartImageView有以下特点:
1.支持通过URL来加载图片;
2.支持从电话簿中加载图片;
3.异步加载图片;
4.图片被缓存在内存,以便下次快速加载显示;
5.SmartImageView类可以被很容易扩展成对其它资源的调用;
其实用起来,也比较简单,可以去下载作者的开源库,也可以使用jar包:
作者主页:http://loopj.com/android-smart-image-view/
github地址:https://github.com/loopj/android-smart-image-view
依赖了库或者添加了jar包之后,就可以把XML原来的ImageView替换成<com.loopj.android.image.SmartImageView />,然后获取引用,直接imageview.setImageUrl("");
获取网络图片,这个过程本身就是异步。不必再进行处理,也不必担心线程阻塞,网络获取到的图片都进行了缓存的处理。会在程序的cache目录下建/web_image_cache/,图片存在这里,上次使用的时候,如果缓存图片已经存在,则不再从网络获取图片。
其中还有一个接口,完成下载的时候调用
public void setImageUrl(String url, SmartImageTask.OnCompleteListener completeListener) {
setImage(new WebImage(url), completeListener);
}