很多人跟我说HttpURLConnection是基于android 4.4上的okhttp。
但是当我深入研究okhttp的代码时,OkHttpURLConnection是从HttpURLConnection扩展的子类。
那么,okhttp基于HttpURLConnection还是HttpURLConnection基于okhttp?
我发现HttpURLConnection的工具来自rt.jar,来自jdk。
我希望有人能告诉我okhttp和HttpURLConnection之间真正的关系
答案 0 :(得分:5)
我发现HttpURLConnection的工具来自rt.jar,它来自jdk。
没有。 Android在编译时或运行时不使用rt.jar
。
okhttp是基于HttpURLConnection还是HttpURLConnection基于okhttp?
Android的名为abstract
的{{1}}类的具体实现基于OkHttp的分支,从Android 4.4开始。
HttpURLConnection
本身与OkHttp无关;在Google或Square之前存在HttpURLConnection
。但HttpURLConnection
是一个HttpURLConnection
类 - 它本身没用。 Java运行时库需要abstract
的具体实现,然后可以使用它来实现HttpURLConnection
上的openConnection()
等方法,这需要返回一些URL
实现。
FWIW,在Android 4.3及更早版本中,HttpURLConnection
,AFAIK的具体实现基于Apache Harmony实现,Android中大多数HttpURLConnection
和java.*
类的方式都是