框架学习系列一(图片加载框架)
图片加载框架
整理常用的图片加载框架
- 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个框架的内存对比图:
框架学习系列一(图片加载框架)相关推荐
- UIL(单例框架)Android-Universal-Image-Loader (图片加载框架)
对于早期使用的图片加载框架进行回顾,对UIL进行简单总结,学而时习之,不亦说乎? UIL(单例框架) 1.概述 Android-Universal-Image-Loader是一个开源的UI组件程序,该 ...
- Android Glide图片加载框架(二)源码解析之with()
文章目录 一.前言 二.如何阅读源码 三.源码解析 1.with() Android Glide图片加载框架系列文章 Android Glide图片加载框架(一)基本用法 Android Glide图 ...
- Android Glide图片加载框架(一)基本用法
文章目录 一.前言 二.简介 三.基本用法 第一步:调用 Glide.with() 方法创建加载图片的实例 第二步:调用 load() 方法指定待加载的图片资源 第三步:调用 into() 方法绑定显 ...
- Android图片加载框架最全解析(八),带你全面了解Glide 4的用法
本文转载自郭神的Glide分析系列:http://blog.csdn.net/guolin_blog/article/details/78582548 本文同步发表于我的微信公众号,扫一扫文章底部的二 ...
- Android图片加载框架 Glide 4 的用法
转载请注明出处:http://blog.csdn.net/guolin_blog/article/details/78582548 本文同步发表于我的微信公众号,扫一扫文章底部的二维码或在微信搜索 郭 ...
- Android图片加载框架最全解析(二),从源码的角度理解Glide的执行流程
转载请注明出处:http://blog.csdn.net/guolin_blog/article/details/53939176 本文同步发表于我的微信公众号,扫一扫文章底部的二维码或在微信搜索 郭 ...
- Android图片加载框架最全解析(七),实现带进度的Glide图片加载功能
转载请注明出处:http://blog.csdn.net/guolin_blog/article/details/78357251 本文同步发表于我的微信公众号,扫一扫文章底部的二维码或在微信搜索 郭 ...
- Android图片加载框架最全解析(三),深入探究Glide的缓存机制
转载请注明出处:http://blog.csdn.net/guolin_blog/article/details/54895665 本文同步发表于我的微信公众号,扫一扫文章底部的二维码或在微信搜索 郭 ...
- Android图片加载框架——Glide(Glide v4)
原文地址 Android图片加载框架--Glide(Glide v4) 前言 android中图片加载框架有很多,所有框架最终达到的目都是在Android平台上以极度简单的方式加载和展示图片,如果我们 ...
最新文章
- ios11修改微信步数_小程序同步微信步数
- python中install语法错误_在“ npm install”之后,出现有关python中语法错误的错误吗?...
- 记mysqldump导出导入数据库的一个小问题~
- Durid数据库连接池设置ConnectionInitSqls参数解决数据库设置编码utf8mb4
- @FeignClient 接口调用
- Spring:Spring相关知识介绍笔记
- uva 10110——Light, more light
- React开发(124):ant design学习指南之form中的属性
- php target标签,为Typecho文章页url标签添加nofollow和target属性
- POJ - 2485(最小生成树.prime)
- PingCAP 完成 C 轮 5000 万美元融资,创新型分布式关系型数据库领域最大笔融资
- 电商数据库设计及架构优化实战(一) - 制定数据库开发规范
- IE、Chrome、Firefox下的按钮文字居中
- excel批量插入图片url显示方法
- 【图文详解:索引极简教程】SQL 查询性能优化原理
- 未对销售组织 XXX 分销渠道 XX 语言 ZH 定义
- 鹏业安装算量导入布局图纸的方法
- Oracle 绑定变量详解
- 京东app后台多端融合架构代码重构实战
- 文旅夜游——让城市夜晚更加绚烂多彩