Picasso源码阅读笔记

2018-06-02  本文已影响0人  ewinddc

Picasso是一款图片缓存框架,接口非常简单易用,今天阅读的是2.71828版本

源码面前,了无秘密

Introduction

Picasso是square公式出品的开源图片框架,主要功能是图片Downloading,Transformation,caching。这是官方教程,这是github链接

Picasso.get().load("http://i.imgur.com/DvpvklR.png").into(imageView);

使用Builder模式设计的接口,一句话搞定所有操作,随用随走。这篇教程写的通俗易懂,可以参考下。

主要特性:

Picasso在宏观流程上和Volley是相似的

流程

详细类图

class diagram.jpg

Picasso

入口类,单例类。

提供Builder类,可以自定义全局的配置

如果以上配置还是不满足需求,可以继承Builder,增加配置方法

Picasso和Okhttp高度结合,如果项目也使用okhttp,可以复用同一个实例

构建好Picasso就可以调用load方法,接收多源输入(uri,string,file,resid)
load方法会生成一个RequestCreator,这个类可以配置每个请求的具体行为和属性

RequestCreator

又是Builder模式,一条龙设置

transform

scaletype

into

缓存

内存-磁盘缓存

内存

使用的LruCache,默认大小为app堆内存的1/7,如果app图片业务不多,个人建议可以调小

磁盘缓存

优化使用

使用Picasso加载图片的内存优化实践

感悟

上一篇 下一篇

猜你喜欢

热点阅读