OkHttp是一个第三方类库,用于android中请求网络。

这是一个开源项目,是安卓端最火热的轻量级框架,由移动支付Square公司贡献(该公司还贡献了Picasso和LeakCanary) 。用于替代HttpUrlConnection和Apache HttpClient(android API23 里已移除HttpClient)。

HTTP is the way modern applications network. It’s how we exchange data & media. Doing HTTP efficiently makes your stuff load faster and saves bandwidth.

OkHttp is an HTTP client that’s efficient by default:

1)HTTP/2 support allows all requests to the same host to share a socket.

2)Connection pooling reduces request latency (if HTTP/2 isn’t available).

3)Transparent GZIP shrinks download sizes.

4)Response caching avoids the network completely for repeat requests.

OkHttp优势

允许连接到同一个主机地址的所有请求,提高请求效率

共享Socket,减少对服务器的请求次数

通过连接池,减少了请求延迟

缓存响应数据来减少重复的网络请求

减少了对数据流量的消耗

自动处理GZip压缩

OkHttp perseveres when the network is troublesome: it will silently recover from common connection problems. If your service has multiple IP addresses OkHttp will attempt alternate addresses if the first connect fails. This is necessary for IPv4+IPv6 and for services hosted in redundant data centers. OkHttp initiates new connections with modern TLS features (SNI, ALPN), and falls back to TLS 1.0 if the handshake fails.

Using OkHttp is easy. Its request/response API is designed with fluent builders and immutability. It supports both synchronous blocking calls and async calls with callbacks.

OkHttp supports Android 2.3 and above. For Java, the minimum requirement is 1.7.

OkHttp功能

get,post请求

文件的上传下载

加载图片(内部会图片大小自动压缩)

支持请求回调,直接返回对象、对象集合

支持session的保持

【Android之OkHttp介绍】相关推荐

  1. GitHub上排名前100的Android开源库介绍

    摘要: 本项目主要对目前 GitHub 上排名前 100 的 Android 开源库进行简单的介绍,至于排名完全是根据 GitHub 搜索 Java 语言选择 (Best Match) 得到的结果,然 ...

  2. Android Fragment 基本介绍

    Android Fragment 基本介绍 Android Fragment 基本介绍 Fragment Android是在Android 3.0 (API level 11)开始引入Fragment ...

  3. Android Pmem相关介绍

    http://fangjian0518.blog.163.com/blog/#m=0 Android Pmem相关介绍 2011-10-18 09:40:26|  分类: Android PMEM | ...

  4. Kotlin on Android 开发环境介绍

    Kotlin 被 Google 采纳为 Android 开发一级编程语言,到现在也一年多了,我们团队从去年 10 月份开始部分项目尝试用 Kotlin 开发,到现在决定推广到全部项目,因为一旦用上 K ...

  5. Android AIDL使用介绍(3) 浅说AIDL背后的Binder

    1.背景 在前面的博客中,我们已经学会了使用AIDL进行跨进程通信,AIDL的使用比较简单,可实际上跨进程通信是一个相当复杂的过程,例如进程A是怎么找到进程B的,如果有一个进程C冒充进程A,进程B又该 ...

  6. Android AIDL使用介绍(2)自定义数据类型的传递

    1.背景 默认情况下,AIDL只支持下列数据类型: Java八种基础数据类型(如 int.long.char.boolean 等); String字符串: CharSequence字符序列: List ...

  7. Android Canvas类介绍和Android Draw Rect 坐标图示

    当我们调整好画笔之后,现在需要绘制到画布上,这就得用Canvas类了.在Android中既然把Canvas当做画布,那么就可以在画布上绘制我们想要的任何东西.除了在画布上绘制之外,还需要设置一些关于画 ...

  8. linux wifi开发书籍,Android WIFI开发介绍.pdf

    Android WIFI开发介绍: WifiStateTracker 会创建WifiMonitor 接收来自底层的事件,WifiService 和WifiMonitor 是整个模块的核心.WifiSe ...

  9. Android中SlidingDrawer介绍【安卓进化三十四】

    Android中SlidingDrawer介绍[安卓进化三十四] 安卓中1.5后加入了SlidingDrawer[隐藏式抽屉],设计原理在你的UI布局有限的情况下,放不下太多的控件的时候,可以考虑用这 ...

最新文章

  1. Xcode代码不提示或提示慢
  2. Pytorch 笔记——tensor
  3. 手机被锁在耳机模式了
  4. SpringFox swagger2 and SpringFox swagger2 UI 接口文档生成与查看
  5. Springboot配置fastjson开发
  6. 织梦轻量级mvc框架笔记
  7. [转]OpenGL基础技术讲座--发展历史
  8. (一)卡尔曼滤波算法简介
  9. mysql自动化巡检_mysql自动化巡检脚本生成html报告
  10. mysql limti_MYSQL分页 limint
  11. atitit 点播系统 概览 v2 qb1.docx
  12. 【实用案例】R语言gdm函数实现地理探测器分析
  13. 3个维度,帮助IT部门快速完成企业云盘选型!
  14. PDF文件如何转JPG图片?简单三步轻松转换
  15. 《大道至简》第二章(是懒人创造了方法)读后感
  16. python灰产路子有哪些_Python3 网络爬虫(四):视频下载,那些事儿!-后台/架构/数据库-敏捷大拇指-一个敢保留真话的IT精英社区...
  17. 联想微型计算机拆装图解,联想昭阳e43g拆机教程【详细介绍】
  18. 筑讯建筑:北京玫瑰博物馆——镂空的玫瑰盒子,从建筑外观判断建筑功用
  19. consul服务发现入门篇
  20. 利用MEGA计算π值和Ka/Ks

热门文章

  1. python键盘记录器_使用Python设计键盘记录器
  2. CleanMyMac X国外中文注册激活版Mac系统清理优化工具
  3. HAUTOJ 1262 魔法宝石
  4. WPF DataGridTextColumn Visibility
  5. 二、final和static关键字,接口和抽象类
  6. iis 如何修改网站的默认浏览方式
  7. ARC101E - Ribbons on Tree
  8. 打圆场是一门学问,社交必须会的技能
  9. 在MarkDown中插入本地图片
  10. docker的容器下使用apt-get update卡在[0%] Working问题解决办法