Okhttp3使用构建器创建OkHttpClient,请参阅下面的示例代码。
final OkHttpClient.Builder builder = new OkHttpClient.Builder();
// Install an HTTP cache in the application cache directory.
File cacheDir = new File(application.getCacheDir(), "http");
final Cache cache = new Cache(cacheDir, BuildConfig.OK_HTTP_CACHE_SIZE_IN_BYTES);
builder.cache(cache);
我使用Dagger 2注入OKHttpClient并在主线程上注入代码。一旦我打开了stricMode,我们得到了以下内容:
StrictMode policy violation; ~duration=333 ms: android.os.StrictMode$StrictModeDiskReadViolation: policy=23 violation=2
有没有办法使用Dagger 2设置主线程的缓存?
供您参考。我检查了杰克的U2020 project,它没有问题。我有什么遗漏的。
答案 0 :(得分:0)
您正在做的事情不应该在构建时导致超时错误(可能是导致此错误的文件目录),但是如果您仍然遇到问题,可以通过{懒惰地实例化对象{1}}可能并在需要时从主线程中执行此操作。只是想象通常这些链条一吨