【cronet】Glide-okcronet,完整的支持 HTTP3/QUIC

相关文章

glide-okcronet

项目Github

一个基于 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 真的是个很基础的组件,后续用途大大的

相关推荐
Gary Studio14 分钟前
Android AIDL HAL工程结构示例
android
y = xⁿ1 小时前
MySQL八股知识合集
android·mysql·adb
andr_gale1 小时前
04_rc文件语法规则
android·framework·aosp
祖国的好青年2 小时前
VS Code 搭建 React Native 开发环境(Windows 实战指南)
android·windows·react native·react.js
黄林晴3 小时前
警惕!AGP 9.2 别只改版本号,R8 规则与构建链路全线收紧
android·gradle
小米渣的逆袭3 小时前
Android ADB 完全使用指南
android·adb
儿歌八万首3 小时前
Jetpack Compose Canvas 进阶:结合 animateFloatAsState 让自定义图形动起来
android·动画·compose
zhangphil4 小时前
Android Page 3 Flow读sql数据库媒体文件,Kotlin
android·kotlin
神探小白牙4 小时前
echarts,3d堆叠图
android·3d·echarts