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