我注意到 android.net.http 包中有新类。其中一些是在 API 34 中添加的,也在 S Extensions 7 中添加的。我在包中遇到了 HttpEngine 类,总结说
处理 UrlRequests 的引擎,它使用当前平台上可用的最佳 HTTP 堆栈。可以使用 HttpEngine.Builder 创建此类的实例。
这门课值得注意吗? “最佳 HTTP 堆栈”是什么意思,它的性能会比我们使用的 OkHttp 等典型 HTTP 客户端更好吗?
HttpEngine 是 Cronet 的 Android SDK 版本:https://developer.android.com/develop/connectivity/cronet
它本质上与支持 Google Chrome 和其他基于 Chromium 的浏览器的网络客户端相同。它提供 HTTP/3,并且在连接质量较低或手机在移动中并在不同网络之间切换时表现良好。
Cronet 已经存在很多年了,但现在它被引入到 SDK 中并且更容易链接。目前还没有大量专门针对它的文档,因为 API 34 是 <15% of the market - but everything written for Cronet should work with HttpEngine, and there are more updates coming as more devices are getting the relevant update.