Picasso的使用

作者: 三步之内必有一坑 | 来源:发表于2016-08-21 23:21 被阅读817次

**##############################****Picasso****###############****
**
Picasso是一加非常有名的公司square的产品,是开源的
android
的图形的缓存库,
Picasso结局了我们安卓图片加载中许多非常棘手的问题,比如图片的异步加载,缓存机制,OOM异常,他的特点就是简单:

1:在例如
listView
的数据设置的过程中我们对于
adpater
不在试图范围内的
ImageView
资源的加载,因为可能会产生数据加载错位的情况。

2:使用负载的内存转换技术降低了内存的使用。

3:自带两级缓存机制。

举一个我们平时安卓中使用图片时的场景:后置500
万摄像头或者
1300
万摄像头拍出来的照片(
2592*1936
),加载到内存中大概需要
19M
的内存大小,如果你要把这么一张大小的图片做显示并且要做缓存,你自己可以想象一下。。。。。这时候
picasso
的使用就可以了。

Picasso的使用方式:

        使用依赖的方式使用:

compile 'com.squareup.picasso:picasso:2.5.2'

        加入混淆代码:

-dontwarn com.squareup.okhttp.**

从网络加载图片

**ImageView targetImageView = (ImageView) findViewById(R.id.imageView);****
**
**String internetUrl = "http://www.jycoder.com/json/Image/1.jpg";****
**
**Picasso.with(context)****
**
** ****.load(internetUrl)****
**
**.into(targetImageView);****
**
从Android Resources 中加载

**ImageView targetImageView = (ImageView) findViewById(R.id.imageView);****
**
**int resourceId = R.mipmap.ic_launcher;****
**
**
**
**Picasso****
**
** .with(context)****
**
** .load(resourceId)****
**
** .into(targetImageView);****
**
从File文件中加载:

**ImageView targetImageView = (ImageView) findViewById(R.id.imageView);****
**
**File file = new File(Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_PICTURES), "Running.jpg");****
**
**
**
**Picasso****
**
** .with(context)****
**
** .load(file)****
**
**.into(targetImageView); ****
**
从URI地址中加载:

**public static final String ANDROID_RESOURCE = "android.resource://";****
**
**public static final String FOREWARD_SLASH = "/";****
**
**private static Uri resourceIdToUri(Context context, int resourceId) {****
**
** return Uri.parse(ANDROID_RESOURCE + context.getPackageName() + FOREWARD_SLASH + resourceId);****
**
**}****
**
**Uri uri = resourceIdToUri(context, R.mipmap.future_studio_launcher);****
**
ImageView targetImageView = (ImageView) findViewById(R.id.imageView);****
**
Picasso ****
**
** .with(context)****
**
** .load(uri)****
**
.into(targetImageView);****
**
注意:picasso这里就先简单讲一下 后面会和
Glide****做详细的比较****
**
**
**
**
**
**
**
########################Picasso-transformations
##########****
**
推特提供的一个针对Picasso
特效动画库:****
**
下载地址:https://github.com/wasabeef/picasso-transformations#how-do-i-use-it****
**
How do I use it?****
**
Step 1****
**
Gradle****
**
repositories {

jcenter()

}

dependencies {

compile 'jp.wasabeef:picasso-transformations:2.1.0'

// If you want to use the GPU Filters

compile 'jp.co.cyberagent.android.gpuimage:gpuimage-library:1.4.1'

}

**Step 2****
**
Set Picasso Transform.

Picasso.with(mContext).load(R.drawable.demo)

    .transform(transformation).into((ImageView) findViewById(R.id.image));

**Advanced Step 3****
**
You can set a multiple transformations.

Picasso.with(mContext).load(R.drawable.demo)

            .transform(transformation)

            .transform(new CropCircleTransformation())

            .into(holder.image);

Transformations****
**
Crop****
**
CropTransformation, CropCircleTransformation, CropSquareTransformation, RoundedCornersTransformation

**Color****
**
ColorFilterTransformation, GrayscaleTransformation

**Blur****
**
BlurTransformation

**Mask****
**
MaskTransformation

**GPU Filter (use GPUImage)****
**
Will require add dependencies for GPUImage.

ToonFilterTransformation, SepiaFilterTransformation, ContrastFilterTransformation InvertFilterTransformation, PixelationFilterTransformation, SketchFilterTransformation SwirlFilterTransformation, BrightnessFilterTransformation, KuwaharaFilterTransformation VignetteFilterTransformation**
**

相关文章

  • 关于Picasso的一些总结

    Picasso使用的是门面设计模式,Picasso的调用是从Picasso这个类中开始的,Picasso内部组件的...

  • Picasso源码阅读笔记

    一、Picasso简介 Picasso是Square出品的图片下载、缓存库。 二、Picasso源码分析 使用示例...

  • picasso源码解析

    picasso的使用非常简单 1.0 单例模式 生成一个Picasso对象 2.0 构建Picasso对象时进行初...

  • picasso框架

    picasso 是一个强大的图片加载缓存框架 1.首先看下picasso 如何使用: Picasso和Glide相...

  • 简单从Picasso源码分析.into(target)和.fet

    Picasso的主要使用方法有3个: Picasso.with(context).load(xxx).into()...

  • Picasso的源码流程

    picasso的使用1)加载一张图片Picasso.with(this).load("url").placehol...

  • 十分钟玩儿转Picasso

    本文会介绍Picasso的基本使用方法,让您快速上手Picasso。后续我们会深入介绍Picasso的设计思想,从...

  • Picasso中的多线程

    Picasso的使用及源码提交请求流程网上都已经很多了,本篇只分析Picasso中多线程相关 Picasso的线程...

  • Picasso的使用

    Picasso的基本使用 picasso仅需一行代码就能实现图片的异步加载 Picasso不仅实现了图片异步加载的...

  • 简谈源码-Picasso源码(v_2.71828)

    Picasso官网 Picasso的常见使用步骤很简单,下面我们概要的看看其实现。 1. 实例获取get() 使用...

网友评论

    本文标题:Picasso的使用

    本文链接:https://www.haomeiwen.com/subject/aiuwsttx.html