网络图片加载框架Universal-ImageLoader和Picasso优缺点对比

网络图片加载库的特点及优势

Android 中图片处理的难点:

oom内存溢出

图片尺寸和缩略图处理的平衡

网络图片的加载与缓存机制

今天学习两款比较优秀的开源图片处理库框架:

Universal-ImageLoader的简介和特点:

android 主流的图片处理框架之一,作者是白俄罗斯的Sergey Tarasevich

1.支持本地图片和网络图片的多线程异步加载和缓存处理(另外对大图片进行压缩等处理防止内存溢出)

2.个性化的配置自己项目的ImageLoader (配置线程数,缓存空间的大小,路径等)

3.图片加载过程的监听回调

4.自动对加载的图片针对当前剩余内存进行裁剪优化,防止oom

5.较好的控制图片的加载过程,例如暂停图片加载,重新开始加载图片

6.缺点:没有对本地文件压缩处理的相关API方法以及默认都是

Src模式设置图片,没有针对Background属性开放的api

Picasso的简介和特点

Picasso是Square公司开源的一个Android图形缓存库,可以实现图片的下载和缓存功能

特点:

1.加载网络图片和本地图片并自动缓存处理

2.链式调用

3.图形转换操作,如变换大小,旋转等,提供了接口来让用户可以自定义转换操作

4.在Adapter中回收和取消当前的下载功能

总结:

1.都有高校的网络图片下载和缓存性能

2.Unibersal-ImageLoader功能多,灵活使用配置

3.Picasso使用复杂的图片压缩转换来尽可能的减少内存消耗

4.在Adapter中需要取消已经不在视野范围的ImageView图片资源的加载导致图片错位,Picasso已经解决这个问题了

时间: 2024-10-24 23:44:40

网络图片加载框架Universal-ImageLoader和Picasso优缺点对比的相关文章

图片加载框架之ImageLoader

Android开发中,多少会接触到异步加载图片,或者加载大量图片的问题,而加载图片我们常常会遇到许多的问题,比如说图片的错乱,OOM等问题,对于这些问题解决起来会比较吃力,比较著名的就是Universal-Image-Loader,该项目可以在于Github搜索到. 特征: 多线程下载图片,图片可以来源于网络,文件系统,项目文件夹assets中以及drawable中等 支持随意的配置ImageLoader,例如线程池,图片下载器,内存缓存策略,硬盘缓存策略,图片显示选项以及其他的一些配置 支持图

图片加载框架之Glide和Picasso

Glide介绍 Glide是一个加载图片的库,作者是bumptech,它是在泰国举行的google 开发者论坛上google为我们介绍的,这个库被广泛的运用在google的开源项目中. Glide是一个非常成熟的图片加载库,他可以从多个源加载图片,如:网路,本地,Uri等,更重要的是他内部封装了非常好的缓存机制并且在处理图片的时候能保持一个低的内存消耗. Picasso介绍(毕加索) picasso是Square公司开源的一个Android图形缓存库,地址http://square.github

Android图片异步加载框架Universal Image Loader的源码分析

项目地址:https://github.com/nostra13/android-universal-image-loader 1. 功能介绍 1.1 Android Universal Image Loader Android Universal Image Loader 是一个强大的.可高度定制的图片缓存,本文简称为UIL. 简单的说 UIL 就做了一件事--获取图片并显示在相应的控件上. 1.2 基本使用 1.2.1 初始化 添加完依赖后在Application或Activity中初始化I

Android 使用图片异步加载框架Universal Image Loader的问题

使用的Jar包 问题:        optionsm = new DisplayImageOptions.Builder() .displayer(new RoundedBitmapDisplayer(20)) .build();   这里.displayer(new RoundedBitmapDisplayer(20))的时候设置圆角报错,.displayer(new SimpleBitmapDisplayer())这样正常显示图片就不报错. 版权声明:本文为博主原创文章,未经博主允许不得转

优化ListView中的网络图片加载 及 Volley库源码分析

使用适当的开源库,如Volley或者Universal ImageLoader 以Volley库为例.Volley使用了线程池来作为基础结构,主要分为主线程,cache线程和network线程. 主线程和cache线程都只有一个,而NetworkDispatcher线程可以有多个,这样能解决比并行问题.如下图: 其中左下角是NetworkDispatcher线程,大致步骤是: 1.不断从请求队列中取出请求 request = mQueue.take(); 2.发起网络请求 NetworkResp

Android 网络图片加载缓存处理库ImageLoader和Picasso

在Android图片处理中需要考虑的问题很多,例如OOM.图片缓存和网络图片加载.多线程问题及图片压缩处理等等复杂的问题.网上也有一些很优秀的开源库帮我们处理这些问题,下面介绍两款开源图片处理库框架:Universal-ImageLoader和Picasso. Universal-ImageLoader: 优点: 支持本地图片和网络图片的多线程异步加载和缓存处理: 个性化的配置自己项目的ImageLoader: 图片加载过程的监听回调: 自动对加载的图片针对当前剩余内存进行裁剪优化,防止OOM:

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

图片加载这种实现繁琐,可复用性又极强的东西,自然是选择使用图片加载框架来快速实现. 像是Android-Universal-Image-Loader.Glide.Picasso.Fresco之类, 但是这时候的烦恼在于,这么多图片加载框架到底谁最实用? 有说Fresco,因为支持WebP,还是用了NDK来加载图片,减少JavaHeap的使用 有Picasso,简洁高效 有说Glide,Picasso升级,可以加载Gif,在Picasso基础上扩展了很多方法 ImageLoader 使用最广,因为

【光速使用开源框架系列】图片加载框架ImageLoader

[关于本系列] 最近看了不少开源框架,网上的资料也非常多,但是我认为了解一个框架最好的方法就是实际使用.本系列博文就是带领大家快速的上手一些常用的开源框架,体会到其作用. 由于作者水平有限,本系列只会描述如何快速的使用框架的基本功能,更多的详细设置大家可以在这些项目的页面上找到. [介绍]: ImageLoader作为一款开源的异步图片加载框架,在Android开发中经常被使用到,该控件可以加载和显示图片.并且对其进行缓存,提供了很多方便的选项帮助开发者们快速达到开发需求. [GitHub页面]

iOS网络开发(6)网络图片加载开源框架SDWebImage

SDWebImage是一个第三方框架,用以实现网络图像的缓存,及处理等功能. Github的托管下载地址: https://github.com/rs/SDWebImage SDWebImage默认使用磁盘缓存, 在 沙盒/Library/Cache中可以找到带WebImageCache字眼的目录,可以找到缓存的图片 SDWebImage以分类的形式,对UIKit中的控件扩展了网络图片加载接口,使用起来非常方便. 介绍SDWebImage中的几个分类: UIImageView加载网络图片 UIB