相关文章
- HTTP3/QUIC 时代的来临,能给App带来什么?
- 【cronet】okcronet 来了,HTTP3/QUIC时代okhttp的替代品
- 【cronet】msnet,让你像Retrofit一样使用cronet
glide-okcronet
一个基于 Cronet 的 Glide 网络请求库。其中网络部分由 okcronet 提供。
目的
-
Glide
官方提供的Cronet
库:"com.github.bumptech.glide:cronet-integration:4.14.2"
但是并未开启
HTTP3/QUIC
的支持,丧失了其优势。源码查看 CronetEngineSingleton。这个问题特别坑,我被蒙在鼓里很久,结果一看源码
false
人傻了 -
同时,也不支持对
CronetEngine
的定制。本库目的用于提供完整的支持。
使用
先引入 Cronet 库:
groovy
// 引入 Cronet,中国大陆推荐这个方法。您还可以使用其他 Cronet 版本。
implementation("org.chromium.net:cronet-api:119.6045.31")
implementation("org.chromium.net:cronet-common:119.6045.31")
implementation("org.chromium.net:cronet-embedded:119.6045.31")
// Google Play 使用此方法
implementation("com.google.android.gms:play-services-cronet:18.0.1")
方式一,手动注册,使用自定义 CronetEngine
(推荐此方式)
推荐优先使用此方式,因为可以使用项目全局的 CronetEngine
。
引入
kotlin
implementation("io.github.limuyang2:glide-okcronet:1.0.1")
注册
在你的项目 AppGlideModule
中注册。
kotlin
@GlideModule
class DemoGlideModule : AppGlideModule() {
override fun registerComponents(context: Context, glide: Glide, registry: Registry) {
/*
注册组件,使用你自己的全局 CronetEngine.
Register the component using your own global CronetEngine.
*/
registry.replace(
GlideUrl::class.java, InputStream::class.java, OkCronetUrlLoader.Factory(App.cronetEngine)
)
}
}
方式二,自动注册(不优先考虑)
此方式会自动生成一个 CronetEngine
,与项目中的不复用。
引入
kotlin
implementation("io.github.limuyang2:glide-okcronet-auto:1.0.0")
无需手动注册。
结尾
是不是很简单?[狗头]
ps:okcronet 真的是个很基础的组件,后续用途大大的