九月啊九月,又要到那金秋飒爽,桂花飘香的时候了,时间过的真快啊,一年又要过去了,哎哎,感叹时光匆匆的时候,也不要忘了老衲的职责,每周博客一篇,只为在年轻时留下奋斗的脚印!今天给大家带来的是 Glide 加载类型的介绍。
Glide.with(this).load(url).into(view);
Glide.with() 方法用于创建一个加载图片的实例。with() 方法可以接收 Context、Activity、Fragment 或者 FragmentActivity 类型的参数,因此可供我们选择的范围非常广。
在 Activity、Fragment 或者 FragmentActivity 中调用 with() 方法时都可以直接传 this,不在这些类中时可获取当前应用程序的 ApplicationContext 传入 with() 方法中。特别需要注意的是 with() 方法中传入的实例会决定 Glide 加载图片的生命周期,如果传入的是Activity、Fragment 或者 FragmentActivity 的实例,那么当其被销毁时图片加载也会停止,如果传入的是 ApplicationContext 时只有当应用程序被杀掉的时候图片加载才会停止。
Glide.with(Context context);// 绑定Context
Glide.with(Activity activity);// 绑定Activity
Glide.with(FragmentActivity activity);// 绑定FragmentActivity
Glide.with(Fragment fragment);// 绑定Fragment
load() 方法用于指定待加载的图片资源。Glide 支持加载各种各样的图片资源,包括网络图片、本地图片、应用资源、二进制流、Uri对象等。
into()方法用于图片显示的对应 ImageView。
Glide 支持加载 gi f 图片,其内部会自动判断图片格式,并且可以正确的将它解析并显示出来。
使用 Glide 加载图片不用担心内存浪费,甚至是内存溢出的问题。因为 Glide 不会直接将图片的完整尺寸全部加载到内存中,而是用多少加载多少。 Glide 会自动判断 ImageView 的大小,然后只将这么大的图片像素加载到内存当中,帮助我们节省内存开支。
如果直接加载 Webp 格式的图片,是不行的,所以网上一般的使用的都是经过直接封装过后的第三方库,这里使用 GlideWebpDecoder ,这个库要求 glide 使用 4.2版本。
附上详情的Github 地址 : https://github.com/roths/GlideWebpSupport
直接用加载图片的方法加载 svg 格式的图片,也是不行的,网上也是使用第三方集成的 Glide ,GlideToVectorYou 这个库在 Glide 的基础上进行了二次的封装,既可以实现 Glide 的基本的功能,也可以加载 svg 格式的图片。
附上详情的Github 地址 :https://github.com/2coffees1team/GlideToVectorYou
以上的是我个人的总结,相关的资料链接也附上了,各位同学可以自行去咀嚼其中的用法。