使用Cornet
作为Fresco
的网络请求库
Cornet
作为下一代网络引擎,来自于Google Chrome浏览器,支持 Http3/QUIC 网络。
Http3/QUIC的优势,有很多介绍文章了,搜索就有很多,不再赘述,各大厂都已上线,其对移动端带来的优势非常诱人。
(Okhttp目前仅支持到 Http2,根据社区的情况来看,极大概率将不会实现Http3)
引入
scss
implementation("io.github.limuyang2:fresco-cronet:1.0.1")
使用示例:
kotlin
// 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)