
库
石头程
这个作者很懒,什么都没留下…
展开
-
Picasso源码完全解析(七)-- CleanupThread 取消请求
Picasso源码完全解析(七)-- CleanupThread 取消请求在开发过程中,我们常常有这样一种应用场景:在使用ListView或者RecylerView或者GridView时,为了提高性能,会采用item复用机制,即默认加载一屏的item,当item变得不可用的时候用来显示下一个将要显示的item,这样避免重复创建和销毁item。如果item用来显示图片,那么会造成这样一个问题原创 2017-05-17 11:37:22 · 757 阅读 · 3 评论 -
Retrofit源码解析
Retrofit源码解析Retrofit概述Retrofi是对OkHttp的封装,简化了网络请求。使用Retrofi完成网络请求的一般步骤如下:使用Retrofit定义的 http注解,定义一个与Http API对应的java接口。实例化一个Retrofit实例调用Retrofit.create()方法,并将定义好的接口的类类型传递给这个方法,获得这个接口的原创 2017-07-30 22:30:25 · 510 阅读 · 0 评论 -
开源项目解析之--Okio
Retrofit,OkHttp,Okio 是 Square 团队开源的安卓平台网络层三板斧,它们逐层分工,非常优雅地解决我们对网络请求甚至更广泛的 I/O 操作的需求。其中最底层的 Okio 堪称小而美,功能也更基础,应用更广泛。这次我们就对它进行一个详细的分析。本文的分析基于 Okio 截至 2016.8.4 的最新源码,非常建议大家下载 Okio 源码之后,跟着本文,过一遍源码。转载 2017-06-21 11:28:36 · 1989 阅读 · 0 评论 -
Picasso源码完全解析(六)--请求的取消、暂停、和恢复
Picasso源码完全解析(六)--请求的取消、暂停、和恢复Picasso为管理请求,提供了取消、暂停和恢复请求的方法。请求的取消请求的取消通常是通过picasso.cancel方法执行的,最终会调用这个方法: private void cancelExistingRequest(Object target) { checkMain(); Action原创 2017-05-17 09:14:55 · 1216 阅读 · 0 评论 -
Picasso源码完全解析(五)--图片的获取(BitmapHunter)
Picasso源码完全解析(五)--图片的获取(BitmapHunter)从上一节的分析可以知道,最终的Action是由dispatcher.performSubmit(action)执行的,看看这个方法的源码: void performSubmit(Action action) { performSubmit(action, true);}void performSu原创 2017-05-17 09:13:24 · 1095 阅读 · 0 评论 -
Picasso源码完全解析(四)--Action分发和执行
Picasso完全源码解析(四)--Action分发和执行上节讲到 我们的每个图片请求最后生成一个Action被提交给Picasso执行,那么那么多的Action Picasso是怎么执行的呢?void enqueueAndSubmit(Action action) { Object target = action.getTarget(); if (target !=原创 2017-05-16 20:56:52 · 527 阅读 · 0 评论 -
Picasso源码完全解析(三)--Request和Action的创建
## Picasso完全源码解析(三)--Request和Action的创建##使用Picasso可以加载链接、文件、Uri以及引用自带的res资源, public RequestCreator load(@Nullable Uri uri) { return new RequestCreator(this, uri, 0); }原创 2017-05-16 20:54:54 · 575 阅读 · 0 评论 -
Picasso源码完全解析(二)--Picasso实例的创建
## Picasso完全源码解析(二)--Picasso实例的创建 ##Picasso提供两种方式获得Picasso实例1. 全局的默认实例2. 通过Picasso.Builder自己构建Picasso实例由于Picasso是一个重量级的对象,它的创建涉及到很多资源和复杂的过程,比如它需要占用一部分内存作为缓存,需要开启回收线程等等,同时其销毁也比较复杂,频繁的创建原创 2017-05-16 20:53:21 · 605 阅读 · 0 评论 -
Picasso源码完全解析(一)--概述
##Picasso源码解析(一)--概述##Picasso是一个省事的图片加载框架,对于复杂的图片加载需求,常常像这样一行代码搞定: Picasso.with(context).load("http://i.imgur.com/DvpvklR.png").into(imageView);很多在Android上图片加载的陷阱都被Picasso自动处理,比如:1.原创 2017-05-16 20:51:06 · 682 阅读 · 0 评论 -
Retrofit详解
Retrofit详解简介Retrofit是一个将Http API转化为Java接口,最终将接口转换为 callable 对象,并能执行同步和异步Http请求的Http Client。具体来讲,使用Retrofit的步骤包括:使用注解来定义Http API的Java接口。定义好接口之后,通过Retrofit实例生成接口实例通过调用接口实例的方法,获取Call对原创 2017-07-28 12:13:11 · 935 阅读 · 0 评论