【cronet】Fresco图片框架->Cronet网络引擎

672 阅读1分钟

相关文章

使用Cronet作为Fresco的网络请求库

Cronet作为下一代网络引擎,来自于Google Chrome浏览器,支持 Http3/QUIC 网络。

Http3/QUIC的优势,有很多介绍文章了,搜索就有很多,不再赘述,各大厂都已上线,其对移动端带来的优势非常诱人。

(Okhttp目前仅支持到 Http2,根据社区的情况来看,极大概率将不会实现Http3)

项目Gihub地址

引入

implementation("io.github.limuyang2:fresco-cronet:1.0.1")

使用示例:

    // 1.创建 CronetEngine
    val cronetEngine = CronetEngine.Builder(
        NativeCronetEngineBuilderImpl(this)
    )
    // ... other config
    .build()

    // 2.创建 CronetNetworkFetcher。第二个参数是线程池,不传递则使用默认的。
    val networkFetcher = CronetNetworkFetcher(cronetEngine, Dispatchers.IO.asExecutor())

    // Fresco config
    val config = ImagePipelineConfig.Builder(this)
        .setNetworkFetcher(networkFetcher)
    .build()

    // 3.初始化 Fresco
    Fresco.initialize(this, config)