Fresco - 支持多个OKHttp客户端

时间:2017-03-30 22:13:41

标签: android okhttp fresco imagedownload

我的Android应用程序支持多个用户登录。 我使用Dagger2来维护在用户切换发生时创建和销毁的UserScope依赖项。 其中一个依赖项是每个用户OkHttpClient,具有自己的身份验证/ Cookie。

我希望将Fresco用于我的应用,但我无法找到一种可以在Fresco中在运行时切换OKHttpClient的方法,因为初始化只发生一次。 来自文档:

OkHttpClient okHttpClient; //my per user session client ImagePipelineConfig config = OkHttpImagePipelineConfigFactory .newBuilder(context, okHttpClient) .build(); Fresco.initialize(context, config);

使用Fresco实现这种多用户场景的任何想法?

1 个答案:

答案 0 :(得分:0)

您只需创建一个包含多个OkHttpClients的自定义网络提取程序,并在需要时更改它们,或创建一个包含多个OPkHttpNetworkFetcher的新提取程序。

只需使用原始OkHttpNetworkFetcher代码作为参考:https://github.com/facebook/fresco/blob/master/imagepipeline-backends/imagepipeline-okhttp3/src/main/java/com/facebook/imagepipeline/backends/okhttp3/OkHttpNetworkFetcher.java