android - 请问下安卓的网络相关的几个库之间的关系?

 mobiledu2502858787 发布于 2022-11-01 06:51

请教一下Android网络有关的几个工具之间的关系。

我对Android了解很少,尝试百度后没有遇见比较满意的答复,应该是我的问题太奇怪了,太简单了。。。。

  • HttpClient

  • HttpURLConnection

他们是Android请求网络用到的较为底层的实现,通过他我们可以自己封装一个网络请求工具。也只有通过他我们才能进行网络请求?
可以说他们是同级的?

  • volley

  • retrofit

他们是基于之前两者的封装,是一套成熟的网络请求框架。

  • okhttp
    我不清楚这个okhttp这个应该算和Hurl同一概念的底层请求网络手段吗?

另外想请问一下,HttpClient他们实际底层实现就是Socket通信吧?

但是我在看volley介绍时说它适合请求频繁的操作(看到过大神的博客说在接受数据时会使用算法分配一块合适的已经存在的内存空间,提高了效率(这个手段我在学习binder机制的时候好像也看到过,在binder驱动层里也有类似的一块区域)),但是我记得Socket连接和断开都会耗费资源难道他不是基于Socket的?

小弟愚昧,希望有大神可以帮解惑,多多纠正我的错误观念。感激不尽!!感激不尽!!

2 个回答
  • 对于这样的疑惑,建议你先去了解网络协议层分层的相关知识,特别是HTTP、Socket、TCP/UDP之间的关系,推荐一篇现成文章给你看看。对于你提到的框架及API,可以简单认为都是基于对http协议的封装实现,retrofit更上层一点,底层由okhttp实现。

    2022-11-12 01:43 回答
  • 你可以这样分:
    底层:HttpClient,HttpURLConnection,okhttp
    网络请求框架:Volley,retrofit

    2022-11-12 01:43 回答
撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有