okhttp 与 HttpURLConnection 的关系

2024-01-08

很多人跟我说 HttpURLConnection 是从 android 4.4 开始基于 okhttp 的。

但是当我深入研究okhttp的代码时,OkHttpURLConnection是从HttpURLConnection扩展的子类。

那么,okhttp 是基于 HttpURLConnection 的还是 HttpURLConnection 是基于 okhttp 的?

我发现HttpURLConnection的实现来自于jdk的rt.jar。

我希望有人能告诉我 okhttp 和 HttpURLConnection 之间的真正关系


我发现HttpURLConnection的实现来自于jdk的rt.jar。

否。Android 不使用rt.jar,在编译时或运行时。

okhttp 是基于 HttpURLConnection 还是 HttpURLConnection 是基于 okhttp?

Android的具体实现abstract类名为HttpURLConnection从 Android 4.4 开始,它基于 OkHttp 的一个分支。

HttpURLConnection本身不依赖于 OkHttp;HttpURLConnection在 Google 或 Square 出现之前就已经存在了。但HttpURLConnection is an abstract类——它本身是没有用的。 Java 运行时库需要具体的实现HttpURLConnection,然后它可以用来实现类似的方法openConnection() on URL,需要返回一些HttpURLConnection执行。

FWIW,在Android 4.3及更早版本中,具体实现为HttpURLConnection,AFAIK,是基于 Apache Harmony 实现的,这是大多数人使用的方式java.* and javax.*Android 中的类是。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

okhttp 与 HttpURLConnection 的关系 的相关文章

随机推荐

  • 使用 Swift 转义 unicode 字符,即 \u1234

    在 xcode 6 中使用 JSON 和 swift 时 我遇到特殊字符问题 我在 Cocoa objective C 中找到了这些代码来解决一些转换重音的问题 但无法使其在 Swift 中工作 关于如何使用它有什么建议吗 最好的替代建议也
  • Logstash 索引文本文件

    我想在 Elasticsearch 中导入一个文本文件 该文本文件每行包含 3 个值 经过几个小时的努力 我还是没有完成 非常感谢您的帮助 安装了 Logstash 的 Elasticsearch 5 4 0 样本数据 username e
  • 如何仅在第一次调用模拟方法时抛出异常?

    我有一个可以多次调用的模拟对象的方法 想想递归 该方法定义如下 public void doCommit 为了让它失败 我使用这个约定 doThrow new RuntimeException when mMockedObject doCo
  • 如何强制单表继承的引用完整性?

    我读过一些比尔 卡尔文的 https stackoverflow com users 20860 bill karwin回答关于单表继承 https stackoverflow com questions 441001 possible t
  • 为什么从类到子类的动态转换要求类是多态的?

    据我了解 动态转换与静态转换的不同之处在于它对 RTTI 的使用 并且如果变量的动态类型 从基类转换为派生类时 不适合 则动态转换会失败 但是 如果我们无论如何都有 RTTI 为什么类必须是多态的才能完成呢 编辑 由于对 多态 一词的使用存
  • 用于触摸 ID 和密码设置的 iOS 首选项 url 方案

    iOS 设置应用程序有很多带有首选项 url 的列表 用于在设置应用程序中打开特定站点 例如https stackoverflow com a 8246814 4266294 https stackoverflow com a 824681
  • JSPDF 在本地保存的文件在 Acrobat 中出现文档 [110] 错误

    我有以下 JavaScript 代码https jsfiddle net d72sgwrc 5 https jsfiddle net d72sgwrc 5 假设要保存屏幕图像 将其转换为 Canvas 并将其保存为 PDF 将文件下载到本地
  • C# 中的 HttpClient 请求有时会失败

    我的 C Windows 应用程序中有类似的代码 public async Task
  • GroupBy 和 Select 扩展方法帮助

    我正在尝试使用以下代码对几个字段进行 GroupBy var cars tmp Select a gt new a Make a Model a Year cars cars Distinct OrderBy a gt a Make The
  • 从 RabbitMQ 队列检索消息

    我希望将 RabbitMQ 实现到我的 PHP 应用程序中 并使用 php amqp 扩展 我唯一的问题是 如何在 PHP 中轻松查询以返回队列的内容 php amqp 似乎不允许我这样做 如果我错了 请在这里帮助我 James 你能在ra
  • Spark on Yarn 容器故障

    供参考 我通过在 hadoop share hadoop common 中添加 Netty 4 1 17 解决了这个问题 无论我尝试运行什么jar 包括来自https spark apache org docs latest running
  • 什么是 DynamicProxyGenAssembly2 程序集?

    我使用 Moq 进行单元测试 为了测试内部接口 我必须向 DynamicProxyGenAssembly2 程序集声明 InternalsVisibleTo 属性 我们运行模糊测试 这很有用 因为我们可以发现这种方法的一些模糊问题 由于 D
  • 如何同时启动两个进程然后等待两个进程完成?

    我想同时启动两个进程 并确保在继续其他步骤之前完成所有进程 你能帮我吗 我已经尝试过线程 它不能同时启动两个线程并等待完成 final CyclicBarrier gate new CyclicBarrier 3 Thread r2 new
  • 具有多个子项的 WPF UserControl

    我有一个用户控件 我希望能够拥有多个子控件 它已经有 StackPanel 作为它的子项 那么我做错了什么 最终 我希望该控件自动包含一些它自己的子元素 然后在使用时允许在其元素之一中放置更多的子元素 我试过MSDN 的如何覆盖逻辑树 ht
  • 设置新窗口的位置

    你好 我打开一个新窗口 a href Hilfe a 此时新窗口出现在左上角 我如何设置位置 以便它出现在其他地方 通过提供top and left window open Default aspx NewWindow top 100 le
  • 如何使用 FSWatch 在 Mac OSX 上查看文件更改?

    我正在尝试使用fswatch https github com alandipert fswatch将 Linux bash 脚本中的以下几行翻译为能够在 Mac OSX 上运行 inotifywait r m myfolder while
  • 对于 EBFE 的 ARM 等效项要发出哪些字节?

    在 x86 中 如果你想引发无限循环 你可以发出一个ebfe http ebfe org 基本上是跳转到当前指令 ARM 中相当于 EBFE 的是什么 那将是0xeafffffe 自身的无条件分支
  • SPARQL 1.1 蕴含机制和使用 FROM 子句的查询

    我目前正在记录 测试 SPARQL 1 1 蕴涵制度 并且建议反复指出 范围图与活动图在图上等效 但它没有指定活动图指的是什么 它是查询中使用的数据集吗 商店中所有图表的并集 作为确定这一点的测试 我得到了这张图的 URIed
  • 安卓配置改变了

    我有兴趣知道当 Android 设备旋转时 即配置更改时 哪些方法被覆盖 onSaveInstanceState onConfigurationChanged onRestoreInstanceState 类似的东西 对我来说 聆听与更改配
  • okhttp 与 HttpURLConnection 的关系

    很多人跟我说 HttpURLConnection 是从 android 4 4 开始基于 okhttp 的 但是当我深入研究okhttp的代码时 OkHttpURLConnection是从HttpURLConnection扩展的子类 那么