【问题标题】:How to set app level cache directory for OkHttp Client如何为 OkHttp 客户端设置应用级缓存目录
【发布时间】:2016-10-25 08:55:25
【问题描述】:

我正在使用 Retrofit - OkHttp 进行网络服务调用。 在使用 OkHttp 的OkHttpClient.Builder 获取OkHttpClient 时, 缓存有参数。

见下一行:

OkHttpClient.Builder builder = new OkHttpClient.Builder()
            .cache(?);// This last parameter

如何设置这个缓存参数?

【问题讨论】:

    标签: android caching retrofit okhttp


    【解决方案1】:

    使用下面的代码,我们可以为OkHttpClient设置应用级缓存目录:

    // Install an HTTP cache in the application cache directory.
    
        File cacheDir = new File(app.getCacheDir(), "http");
        // [app] is your Application class object.
        // using [app.getCacheDir()], get app cache directory.
    
        Cache cache = new Cache(cacheDir, DISK_CACHE_SIZE);
        //DISK_CACHE_SIZE is constant for OkHttpClient cache directory size.    
       //private int DISK_CACHE_SIZE = 50 * 1024 * 1024; // 50MB
    
    
        OkHttpClient.Builder builder = new OkHttpClient.Builder()
                .cache(cache);
    
        OkHttpClient okHttpClient=builder.build();
    

    【讨论】:

      猜你喜欢
      • 2015-05-21
      • 2017-05-30
      • 1970-01-01
      • 2019-12-10
      • 2016-07-11
      • 2012-11-15
      • 2017-02-20
      • 2016-03-20
      • 1970-01-01
      相关资源
      最近更新 更多