我的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实现这种多用户场景的任何想法?
答案 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