与其他图片加载库相同,Glide除了可以加载网络图片之外,也可以加载本地图片。甚至还可以从各种各样奇葩的数据源中加载图片。
加载网络图片
很多情况下,我们使用图片加载库就是为了加载网络图片。网络操作是一个很复杂的东西。试想一下,如果没有图片加载库,我们就要手动去下载图片,缓存图片,最后再从文件里面读取bitmap并设置到Imageview里面。这还算好的,要是在Listview里面你会更头疼的。原因我就不说了,你懂的~~再加上各种各样的Bitmap操作,保准你再也不想撸代码了。而且Bitmap这东西还很占内存,伺候不好,很容易就会引发OOM,app吧唧就闪退了!!
图片加载库的优势就在于此。简简单单一句话,下载,缓存,加载统统搞定。简直就是美好一生的东西。而Glide就是这样使人美好一生的东西之一。
说了这么多,Glide如何加载网络图片?很简单,就上次的三句话:
ImageView targetImageView = (ImageView) findViewById(R.id.imageView); String internetUrl = "http://www.easck.com/idojSYm.png"; Glide .with(context) .load(internetUrl) .into(targetImageView);
木有什么乱七八糟的东西,直接传入要加载图片的url就可以了。那么图片加载库有很多,为什么选择Glide呢?很简单,因为它流畅,不卡,尤其是在Listview中。嗯,就是酱~
加载本地图片
下表是.load()可以传入的参数及说明
| 参数 | 说明 |
|---|---|
| .load(String string) | string可以为一个文件路径、uri或者url |
| .load(Uri uri) | uri类型 |
| .load(File file) | 文件 |
| .load(Integer resourceId) | 资源Id,R.drawable.xxx或者R.mipmap.xxx |
| .load(byte[] model) | byte[]类型 |
| .load(T model) | 自定义类型 |










