图片加载框架

整理常用的图片加载框架

  • Glide
  • Fresco
  • Volley
  • Picasso
  • Universal Image Loader

1. Glide接入使用

gradle配置

dependencies {//glide 图片加载compile 'com.github.bumptech.glide:glide:3.7.0'
}
ImageView im=(ImageView) findViewById(R.id.iv_image1);
Glide.with(this).load("http://img05.tooopen.com/images/20150531/tooopen_sy_127457023651.jpg").into(im);

2. Fresco接入使用

gradle配置

//fresco图片加载
compile 'com.facebook.fresco:fresco:1.3.0'

自定义 Application

public class MyApplication extends Application{@Overridepublic void onCreate() {super.onCreate();//Fresco.initialize(this);}

布局文件xml添加

 添加:xmlns:fresco="http://schemas.android.com/apk/res-auto"
<android.support.constraint.ConstraintLayoutxmlns:android="http://schemas.android.com/apk/res/android"xmlns:app="http://schemas.android.com/apk/res-auto"xmlns:fresco="http://schemas.android.com/apk/res-auto"xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent"android:layout_height="match_parent" tools:context="com.doublechina.autoimageload.ImageActivity">
添加:com.facebook.drawee.view.SimpleDraweeView
<com.facebook.drawee.view.SimpleDraweeViewandroid:id="@+id/iv_fresco"android:layout_width="match_parent"android:layout_height="400dp"android:src="@mipmap/ic_launcher"app:layout_constraintLeft_toLeftOf="parent"app:layout_constraintTop_toTopOf="parent" />

代码调用

//需要指定宽高,要不图片加载不出来
Uri uri = Uri.parse("http://img05.tooopen.com/images/20150531/tooopen_sy_127457023651.jpg");
SimpleDraweeView draweeView = (SimpleDraweeView) findViewById(R.id.iv_fresco);
draweeView.setImageURI(uri);

3. Volley接入使用

gradle配置

//volley 官方clone工程,volley官方不在提供支持
compile 'com.mcxiaoke.volley:library:1.0.19'

代码调用

final ImageView im=(ImageView) findViewById(R.id.iv_volley);ImageRequest imageRequest = new ImageRequest("http://img05.tooopen.com/images/20150531/tooopen_sy_127457023651.jpg",new Response.Listener<Bitmap>() {@Overridepublic void onResponse(Bitmap response) {im.setImageBitmap(response);}}, 0, 0, Bitmap.Config.RGB_565, new Response.ErrorListener() {@Overridepublic void onErrorResponse(VolleyError error) {im.setImageResource(R.mipmap.ic_launcher);}});
//volley 官方clone工程,volley官方不在提供支持
compile 'com.mcxiaoke.volley:library:1.0.19'

4. picasso接入使用

gradle配置

//picasso图片加载
compile 'com.squareup.picasso:picasso:2.5.2'

代码调用

ImageView im=(ImageView) findViewById(R.id.iv_picasso_image);
Picasso.with(getApplicationContext()).
load("http://img05.tooopen.com/images/20150531/tooopen_sy_127457023651.jpg").into(im);

5. Universal Image Loader接入使用

gradle配置

//Android-Universal-Image-Loader
compile 'com.nostra13.universalimageloader:universal-image-loader:1.9.5'

自定义 Application

public class MyApplication extends Application{@Overridepublic void onCreate() {super.onCreate();//ImageLoader
ImageLoaderConfiguration config = new ImageLoaderConfiguration.Builder(this).build();
ImageLoader.getInstance().init(config);}

代码调用

ImageView im=(ImageView) findViewById(R.id.iv_image_load);
ImageLoader imageLoader = ImageLoader.getInstance();
imageLoader.displayImage("http://img05.tooopen.com/images/20150531/tooopen_sy_127457023651.jpg", im);
imageLoader.loadImage("http://img05.tooopen.com/images/20150531/tooopen_sy_127457023651.jpg", new SimpleImageLoadingListener() {@Overridepublic void onLoadingComplete(String imageUri, View view, Bitmap loadedImage) {Toast.makeText(ImageLoadActivity.this, ""+imageUri, Toast.LENGTH_SHORT).show();// Do whatever you want with Bitmap}
});

下图是5个框架的内存对比图:

框架学习系列一(图片加载框架)相关推荐

  1. UIL(单例框架)Android-Universal-Image-Loader (图片加载框架)

    对于早期使用的图片加载框架进行回顾,对UIL进行简单总结,学而时习之,不亦说乎? UIL(单例框架) 1.概述 Android-Universal-Image-Loader是一个开源的UI组件程序,该 ...

  2. Android Glide图片加载框架(二)源码解析之with()

    文章目录 一.前言 二.如何阅读源码 三.源码解析 1.with() Android Glide图片加载框架系列文章 Android Glide图片加载框架(一)基本用法 Android Glide图 ...

  3. Android Glide图片加载框架(一)基本用法

    文章目录 一.前言 二.简介 三.基本用法 第一步:调用 Glide.with() 方法创建加载图片的实例 第二步:调用 load() 方法指定待加载的图片资源 第三步:调用 into() 方法绑定显 ...

  4. Android图片加载框架最全解析(八),带你全面了解Glide 4的用法

    本文转载自郭神的Glide分析系列:http://blog.csdn.net/guolin_blog/article/details/78582548 本文同步发表于我的微信公众号,扫一扫文章底部的二 ...

  5. Android图片加载框架 Glide 4 的用法

    转载请注明出处:http://blog.csdn.net/guolin_blog/article/details/78582548 本文同步发表于我的微信公众号,扫一扫文章底部的二维码或在微信搜索 郭 ...

  6. Android图片加载框架最全解析(二),从源码的角度理解Glide的执行流程

    转载请注明出处:http://blog.csdn.net/guolin_blog/article/details/53939176 本文同步发表于我的微信公众号,扫一扫文章底部的二维码或在微信搜索 郭 ...

  7. Android图片加载框架最全解析(七),实现带进度的Glide图片加载功能

    转载请注明出处:http://blog.csdn.net/guolin_blog/article/details/78357251 本文同步发表于我的微信公众号,扫一扫文章底部的二维码或在微信搜索 郭 ...

  8. Android图片加载框架最全解析(三),深入探究Glide的缓存机制

    转载请注明出处:http://blog.csdn.net/guolin_blog/article/details/54895665 本文同步发表于我的微信公众号,扫一扫文章底部的二维码或在微信搜索 郭 ...

  9. Android图片加载框架——Glide(Glide v4)

    原文地址 Android图片加载框架--Glide(Glide v4) 前言 android中图片加载框架有很多,所有框架最终达到的目都是在Android平台上以极度简单的方式加载和展示图片,如果我们 ...

最新文章

  1. ios11修改微信步数_小程序同步微信步数
  2. python中install语法错误_在“ npm install”之后,出现有关python中语法错误的错误吗?...
  3. 记mysqldump导出导入数据库的一个小问题~
  4. Durid数据库连接池设置ConnectionInitSqls参数解决数据库设置编码utf8mb4
  5. @FeignClient 接口调用
  6. Spring:Spring相关知识介绍笔记
  7. uva 10110——Light, more light
  8. React开发(124):ant design学习指南之form中的属性
  9. php target标签,为Typecho文章页url标签添加nofollow和target属性
  10. POJ - 2485(最小生成树.prime)
  11. PingCAP 完成 C 轮 5000 万美元融资,创新型分布式关系型数据库领域最大笔融资
  12. 电商数据库设计及架构优化实战(一) - 制定数据库开发规范
  13. IE、Chrome、Firefox下的按钮文字居中
  14. excel批量插入图片url显示方法
  15. 【图文详解:索引极简教程】SQL 查询性能优化原理
  16. 未对销售组织 XXX 分销渠道 XX 语言 ZH 定义
  17. 鹏业安装算量导入布局图纸的方法
  18. Oracle 绑定变量详解
  19. 京东app后台多端融合架构代码重构实战
  20. 文旅夜游——让城市夜晚更加绚烂多彩

热门文章

  1. 程序人生:给你讲十个特别有哲理的故事
  2. php 自定义行间距,CSS设置文字行间距的方法介绍(代码示例)
  3. macOS Ventura 13 正式版系统在线安装镜像
  4. vue页面抖动/晃动 (已解决)
  5. 给你一个支点你能做些什么呢
  6. andorid上部署dropbear服务
  7. 小游戏一:win32贴图——TransparentBlt
  8. 将WAF部署在Nginx之后,真的效率最高吗?
  9. 浏览器下载poi-tl生成的word文件
  10. 7-4 sdut-oop-9 计算长方形的周长和面积(类和对象) (10 分)