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

相关推荐
驰骋工作流7 小时前
流程时效考核的表结构:从待办时限到 WF_CH 考核结果驰骋BPM驰骋低代码低代码工作流引擎
android·低代码·rxjava
传奇开心果编程9 小时前
【Flutter踩坑排雷】第7课:巨型 build 函数坑|全部 UI 写在同一个 build,维护难、隐性异常
android·flutter·ios·移动开发·跨平台·dart·声明式ui
方白羽12 小时前
Android 双开环境底层剖析与风控检测落地
android·安全·app
weixin_5633714713 小时前
Android Studio 2024 版 Device Explorer 打开方法
android·ide·android studio
AIsoft_868915 小时前
职场音频文件怎么整理?录音APP有哪些用法
android·音视频
booboosui15 小时前
第一批个人 Agent 用户正在卸载,问题不在模型,在它住在哪儿
android
洞见前行15 小时前
点击图标到内容出现,你的 App 在这几秒里做了什么:Android 冷启动全链路优化实战
android·性能优化·android studio
凯基迪科技16 小时前
芯片UID绑定修改 加密与逆向修改思路分析
android
Liben17 小时前
Weex开发踩坑记录
android·前端·ios
救救孩子把19 小时前
结构化输出为何“格式正确、答案错误”?JSON Schema 的能力边界
android·java·json·agent·agent服务