Picasso, ImageLoader, Fresco, Glide 优劣

2018年Android面试题含答案--适合中高级(下) 1、Activity生命周期? onCreate() -> onStart() -> onResume() -> onPause() -> onStop() -> onDetroy() 2、Service生命周期? service 启动方式有两种,一种是通过startService()方式进行启动,另一种是通过bindService()方式进行启动。不同的启动方式他... 阅读详情

Picasso, ImageLoader, Fresco, Glide 优劣


首先看 Fresco, 它的优点是其他几个框架没有的, 或者说是其他几个框架的短板.


Fresco:
优点:
1. 图片存储在安卓系统的匿名共享内存, 而不是虚拟机的堆内存中, 图片的中间缓冲数据也存放在本地堆内存,
所以, 应用程序有更多的内存使用, 不会因为图片加载而导致 oom, 同时也减少垃圾回收器频繁调用回收 Bitmap
导致的界面卡顿, 性能更高.
2. 渐进式加载 JPEG 图片, 支持图片从模糊到清晰加载
3. 图片可以以任意的中心点显示在 ImageView, 而不仅仅是图片的中心.
4. JPEG 图片改变大小也是在 native 进行的, 不是在虚拟机的堆内存, 同样减少 OOM
5. 很好的支持 GIF 图片的显示
缺点:
1. 框架较大, 影响 Apk 体积
2. 使用较繁琐


ImageLoader, Picasso, Glide: 这三者实现机制都差不多
ImageLoader:
比较老的框架, 稳定, 加载速度适中, 缺点在于不支持GIF图片加载, 使用稍微繁琐, 并且缓存机制没有和http的缓
存很好的结合, 完全是自己的一套缓存机制(完整大小).
Picasso:
使用方便, 一行代码完成加载图片并显示, 框架体积小,
缺点在于不支持 GIF, 并且它可能是想让服务器去处理图片的缩放, 它缓存的图片是未缩放的, 并且默认使用
ARGB_8888 格式缓存图片, 缓存体积大.


Glide:
可以说是 Picasso 的升级版, 有 Picasso 的优点, 并且支持 GIF 图片加载显示, 图片缓存也会自动缩放, 默认使用
RGB_565 格式缓存图片, 是 Picasso 缓存体积的一半.

Glide也支持本地视频图片加载:

 (1)"file:///storage/sdcard1/Movies/xxxxx.mp4",
(2)"/storage/sdcard1/Movies/xxxxx.mp4",

通过网络视频地址加载就失败了, "http://xxxxxxx.mp4"不可行


Glide图片加载demo:下载地址

ImageLoader笔记:
http://blog.youkuaiyun.com/liuyifirsttime/article/details/50491991


其他博友的博客:

http://blog.youkuaiyun.com/jiangxuqaz/article/details/45770631


图片缓存库Picasso和ImageLoader的Demo 文件中包含图片缓存库Picasso和ImageLoader的两个Demo,工程中有详细的注释 立即下载

相关推荐

大智慧L2实时api接口的逐笔委托功能执行代码分享

用过l2行情接口的投资者应该都了解大部分的接口都是有逐笔委托功能的,那么大智慧L2实时api接口也有着很强大的逐笔委托功能,投资者可以通过这个逐笔委托功能可以看到一个股票的每天出现的全部委托指令,那么在这个逐笔委托功能里包含了委托价格、委托时间、委托量和委托方向四个要素!那么接下来小编就分享一下大智慧L2实时api接口的逐笔委托功能执行代码!那么在这里提个醒:投资者可以在大智慧L2实时api接口进行设置过滤,在逐笔委托列表里,就仅仅只会显示超过设置委托量或委托额的委托单,而不再显示小单。

Qq_2037696191的博客 3730

Glide和Picasso的优缺点比较

一:with传入参数不同 Glide.width()不仅可以传递上下文,还可传入activity,fragment实例。 Picasso.width()只能传入上下文。 备注:Glide和activity生命周期绑定,不会出现内存泄露 二:加载后图片质量不同 Glide默认使用RGB_565格式,Picasso默认使用ARGB_888模式。 由于Picasso使用的是全图加载模式,因此清晰度和图片质量比Glide高,但是内存占用是Glide的一半 三:加载GIF图片 Glide支持gif动.

qq_33528407的博客 431

Windows 本地安装 OpenClaw(龙虾)完整教程(纯净无广告)

《Windows系统OpenClaw本地AI网关安装指南》 本文提供Windows 10/11系统下OpenClaw(龙虾)AI网关的完整部署教程,包含: 环境配置:Node.js安装验证 核心安装:npm全局部署OpenClaw 模型对接:以DeepSeek为例配置API 扩展功能:飞书机器人集成方法 日常管理:启停命令/Web面板访问 卸载清理:完整移除服务与残留 教程涵盖初始化配置、技能管理、常见问题排查,特别说明管理员权限要求及飞书配对流程,适合新手30分钟内完成本地AI网关搭建。通过命令行操作与W

qiuxunbin_csdn的博客 638

Carson带你学Android:最全面解析图片加载库Glide用法

前言 上文已经对当今Android主流的图片加载库进行了全面介绍 & 对比 如果你还没阅读,我建议你先移步这里进行查看今天我们来学习一下其中一个Android主流的图片加载库的使用 - Glide 目录1. 简介 介绍:Glide,是Android中一个图片加载开源库 Google的开源项目 主要作用:实现图片加载 2. 功能特点2.1 功能列表 从上面可以看出,Glide不

Carson带你学Android 1万+

告别零散脚本:用Playwright+Pytest+Yaml+Allure搭建可维护的UI自动化项目

UI自动化测试是软件质量保障的关键环节,其核心在于模拟用户操作,对Web应用界面进行功能验证。传统的脚本堆砌方式常因代码耦合度高、维护成本大而难以为继。工程化解决方案通过分离关注点,将测试逻辑、数据和配置解耦,从而显著提升项目的可读性、可维护性和可扩展性。其技术价值在于构建可持续运行的自动化资产,而非一次性脚本。典型的应用场景包括Web应用的回归测试、兼容性测试及CI/CD流水线中的质量门禁。本文以Playwright、Pytest、Yaml和Allure为核心技术栈,详细阐述了如何从项目架构、页面对象模型

weixin_42529328的博客 299

TeraTerm 使用技巧

⏹TeraTerm 使用技巧

菜鸟记录 9991

Glide加载框架必要的需求,以及各个需求涉及到哪些技术和原理

这次来面试的是一个有着5年工作经验的小伙,截取了一段对话如下: 面试官:我看你写到Glide,为什么用Glide,而不选择其它图片加载框架? 小伙:Glide 使用简单,链式调用,很方便,一直用这个。 面试官:有看过它的源码吗?跟其它图片框架相比有哪些优势? 小伙:没有,只是在项目中使用而已~ 面试官:假如现在不让你用开源库,需要你自己写一个图片加载框架,你会考虑哪些方面的问题,说说大概的思路...

qq_36623875的博客 501

摄像头模组CCM简介

摄像头模组,全称Camera Compact Module,简写为CCM。CCM 包含几大件: 镜头(lens)、音圈马达(VCM)、传感器(sensor)、软板(FPC)、图像处理芯片(DSP)。工作原理:物体通过镜头(lens)聚集的光,通过CMOS或CCD集成电路,把光信号转换成电信号,再经过内部图像处理器(ISP)转换成数字图像信号输出到数字信号处理器(DSP)加工处理,转换成标准的GRB、YUV等格式图像信号。摄像头模组主要由以下几个部分组成:镜头(Lens):将光线汇聚到图像传感器上。

m0_73482095的博客 1万+

Android 图片缓存 —— Fresco

Fresco是facebook开源的项目: 1.文档参考: “>http://fresco-cn.org/docs/index.html#

womengmengyan的博客 771

macOS 27下PlayCover“没有权限打开”的完整修复指南

macOS系统通过Gatekeeper、TCC(透明、同意与控制)和安全启动等机制,对第三方应用进行层层校验,以防范恶意代码。这些机制会检查应用的隔离属性、签名状态以及所需系统权限,当任一环节不满足时,就会出现“没有权限打开”的提示。对于开发者工具或未上架App Store的开源软件,这类拦截尤为常见。尤其在macOS 27上,系统进一步收紧了绕过策略,导致PlayCover等工具无法正常启动。本文以PlayCover为例,详细解析权限链路上的三道关卡,并给出清除隔离属性、调整SIP状态、重置TCC记录等完

weixin_32612263的博客 737

2025年GESP3月认证C++五级真题解析

小 A 有 2n 件物品,小 B 和小 C 想从小 A 手上买走这些物品。对于第 i 件物品,小 B 会以 bi 的价格购买,而小 C 会以 ci 的价格购买。对于所有测试点,保证 1 <= T <= 100, 2 <= g < p <= 10^9, g, p 为整数, p 为质数。对于所有测试点,保证 1 <= n <= 10^5, 0 <= bi, ci <= 10^9, bi, ci 为整数。对于另外 50 % 的测试点,保证 n <= 100000, 0 <= bi, ci <= 10^9。

lan_in的博客 1035

Glide框架分析----用法到源码的全面分析

Glide分析 一、Glide用法及介绍 1.1 什么是Glide? Glide是一个加载图片的库,作者是bumptech,它是在泰国举行的google 开发者论坛上google为我 们介绍的,这个库被广泛的运用在google的开源项目中。 1.2 Glide解决什么问题? Glide是一个非常成熟的图片加载库,他可以从多个源加载图片,如:网路,本地,Uri等,更重要的 是他内部封装了非常好的缓存机制并且在处理图片的时候能保持一个低的内存消耗。 1. 3 Glide的优缺点 1.3.1 优点 1.多样化媒

weixin_44160848的博客 2523

SAP-RPT-1 深度解读:面向企业表格数据的 rapid one

摘要: SAP在TechEd 2025大会上推出面向企业结构化数据的SAP-RPT-1(Relational Pretrained Transformer),旨在通过in-context learning直接预测表格数据中的缺失值,无需传统机器学习流程。与LLM不同,RPT专为业务表格设计,支持实时预测(如交货延迟、回款风险等)。提供Small(高吞吐)、Large(高精度)和开源版本,用户可通过无代码Playground(上传CSV并用[PREDICT]标记目标列)或Python API快速验证。典型场景

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 235

Android ImageLoader、Fresco、Picasso、Glide的优劣

Fresco 优点: 图片存储在安卓系统的匿名共享内存, 而不是虚拟机的堆内存中, 图片的中间缓冲数据也存放在本地堆内存, 所以, 应用程序有更多的内存使用, 不会因为图片加载而导致 oom, 同时也减少垃圾回收器频繁调用回收 Bitmap 导致的界面卡顿, 性能更高. 渐进式加载 JPEG 图片, 支持图片从模糊到清晰加载 图片可以以任意的中心点显示在 ImageView, 而不仅仅...

Vincent的博客 206

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

IMSL CNL 7.0.0 (x86-64)Crack

IMSL CNL 7.0.0 (x86-64)Crack intel的算法库破解文件,这是C++版本的破解文件

主流图片加载框架ImageLoader、Glide、Picasso、Fresco性能分析---图片加载速度比较

图片加载这种实现繁琐,可复用性又极强的东西最好是使用图片加载框架来实现。 到Github上面搜索下,关键词Android ImageLoad,ImageLoader、Glide、Picasso、Fresco都有这么多Star,究竟哪个框架更好呢? 有说Fresco,因为支持WebP,还是用了NDK来加载图片,减少JavaHeap的使用 有Picasso,简洁高效 有说Glide,Picass

我早就想,要这样载着你,翻山越岭 1万+

RU DOS版、EFI版32bit/64bit BIOS常用工具

DOS版、EFI版的RU工具,可用来查看IO、MEM、PCI、SMBIOS等资源。亲测在EFI SHELL下可用。

Android 图片加载框架 Glide ImageLoader,Picasso,Fresco,Coil

现在Android开发人员加载图片大多数用的是Glide 的吧。关于Glide ImageLoader,Picasso,Fresco有什么不对的请指正 一 、Glide介绍 GitHub:https://github.com/bumptech/glide 优势: 1)使用简单 2)可配置度高,自适应程度高 3)支持常见图片格式jpg、png...

追梦的鱼儿 1508

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

常用的图片加载库的区别(Gilde,Picasso,Image-loader,Fresco)

Gilde,Picasso,Image-loader,Fresco图片加载库的使区别GlideGlide是一个非常成熟的图片加载库,他可以从多个源加载图片,如:网路,本地,Uri等,更重要的是他内部封装了非常好的缓存机制并且在处理图片的时候能保持一个低的内存消耗。 当我们调整imageview的大小时,Picasso会不管imageview大小是什么,总是直接缓存整张图片,而Glide就不一样了,

u014732103的博客 443

Universal-ImageLoader,Picasso,Fresco,Glide对比

Universal-ImageLoader:(估计由于HttpClient被Google放弃,作者就放弃维护这个框架)优点:1.支持下载进度监听2.可以在 View 滚动中暂停图片加载,通过 PauseOnScrollListener 接口可以在 View 滚动中暂停图片加载。3.默认实现多种内存缓存算法 这几个图片缓存都可以配置缓存算法,不过 ImageLoader 默认实现了较多缓存算法,...

weixin_34383618的博客 113

常用图片加载框架

我们在项目中使用的是Picasso.其实现在的主流图片加载框架除了Picasso还有ImageLoader,Glide,以及Fresco.ImageLoader是比较老的框架了,稳定, 加载速度适中, 缺点在于不支持GIF图片加载, 使用稍微繁琐, 并且缓存机制没有和http的缓存很好的结合, 完全是自己的一套缓存机制.Glide是谷歌的一位工程师开发的,它可以说是Picasso的升级版, 有Pi

geeksi的博客 403

android 常用的图片加载框架

主流图片加载框架? 1&amp;gt; Picasso 2&amp;gt; Glide 3&amp;gt; Fresco 4&amp;gt; ImageLoader 介绍: Picasso:和Square的网络库一起能发挥最大作用,因为Picasso可以选择将网络请求的缓存部分交给了okhttp实现   Glide:模仿了Picasso的API,而且在他的基础上加了很多的扩展(比如gif等支持),Glide默认的...

Zophar_Development的博客 740

四种图片加载库的分析

可以加载图片的还有afinal和xutil的BitmapUtil,已经停止维护了。 四种库:ImageLoader,Picasso,Glide,Fresico 比较 配置:Imgeloader较麻烦 内存:Picasso占用内存很大,造成卡顿;其他ok 小图片: 大图片:Picasso和Fresico加载大于2M的图片时都不显示 异步: 缓存:glide默认使用rgb565节省空间

Luka的異想世界 465

引入三方库_反编译所有图片加载库,让OOM无所遁形

码个蛋(codeegg) 第 989 次推文作者:ZhouZhengyi链接:https://juejin.im/post/5ea1c46851882573a25f3ec31.背景最近看滴滴开源的Dokit框架中有一个大图监控的功能,可以对图片的文件大小和所占用的内存大小设置一个阈值,当图片超过该值的时候进行提示。这个功能对于我们在做APK体积压缩,内存管理的时候还是很有用的,比如当我们要从后台返...

weixin_42518874的博客 116
上一篇: 友盟推送开发小笔记
下一篇: Android sd相关笔记 - Android4.4上应用写sd卡问题
安卓鸟
博客等级 码龄15年 14粉丝 36原创
评论 3
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值