一个基于 Cronet 的 Glide 网络请求库。其中网络部分由 okcronet 提供。
Glide
官方提供的 Cronet
库中,未开启 HTTP3/QUIC
的支持,丧失了其优势。源码查看 CronetEngineSingleton。
并且不支持对 CronetEngine
的定制。本库目的用于提供完整的支持。
先引入 Cronet 库:
// 引入 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
。
implementation("io.github.limuyang2:glide-okcronet:1.0.1")
在你的项目 AppGlideModule
中注册。
@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
,与项目中的不复用。
implementation("io.github.limuyang2:glide-okcronet-auto:1.0.0")
无需手动注册。