Skip to content

Latest commit

 

History

History
56 lines (44 loc) · 1.92 KB

README_CN.md

File metadata and controls

56 lines (44 loc) · 1.92 KB

glide-okcronet

一个基于 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(推荐此方式)

推荐优先使用此方式,因为可以使用项目全局的 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")

无需手动注册。