每天记录学习的新知识 : gilde 和 picasso的区别

区别和联系

1.Context 不同

Picasso.with(只能传入上下文) .
Glide.with,后面可以传入上下文,activity实例,FragmentActivity实例,Fragement.传入的对象要比前者多

2.默认图片质量

Picasso:ARGB-8888
Glide:RGB-565;但是可以通过设置修改成ARGB-8888

3.Gif

Picasso不能加载git图片
Glide可以加载缓存图片

4.缓存策略

Picasso缓存的是全尺寸,而 Glide的缓存的更ImageView的尺寸相同。

将ImageView调整为不同的大小,不管大小如何设置,Picasso只缓存一个全尺寸的,Glide则不同,他会为每种大小不一致的ImageView都缓存一次.

5.加载速度

第一次加载,
Picasso 会比 Glide 快一点。猜测可能的原因还是因为之前讲到的缓存机制导致,因为Picasso 是直接把图加载到内存中,而 Glide 则需要改变图片大小再加载到内存中去。这个应该是会耗费一定的时间。

之后的加载,
加载图片会从内存中取出,Glide 则比 Picasso 要快。其原理还是因为缓存机制的区别。因为Picasso 从缓存中拿到的图片,还要先去 resize 后,然后设定给 imageView,但是 Glide 则不需要这样。

6.内存

加载同一张图片Picasso,Picasso的内存开销仍然远大于Glide,大概是Glide的两倍,即使是Glide将默认的图片质量修改成ARGB-8888,内存依然更小。

7.jar

对比两个.jar 库的大小,Glide 要比 Picasso 大很多。(因为提供更多功能,拥有更多方法,如Git)

8.OOM

因为缓存策略的原因,Glide 比Picasso 耗用内存更少,更不容易OOM。

拓展

手机内存是什么?

广义的手机系统内存分为“手机运行内存”及“手机非运行内存”。手机的“运行内存”相当于电脑的内存(或者叫内存条); 而手机的“非运行内存”,即手机的ROM和硬盘,是机身内部存储器(简称机身内存),相当于电脑的硬盘。手机“运行内存”越大,手机能运行多个程序且流畅;手机“非运行内存”越大,就像硬盘越大,能存放更多的数据。

你可能感兴趣的:(面试zsd,图片)