Android - 为什么我的客户端缓存网络调用?

问题描述 投票:0回答:0

这可能是一个奇怪的问题,但我有理由相信我的改造客户正在缓存我的电话。为什么我这么认为?我使用 CoinGecko 作为我的数据提供者。每个 IP 地址每分钟限制 10-30 个网络调用。一旦失败,我的 Android 应用程序会在所有呼叫中失败很多分钟,但我的 iOS 应用程序会在一分钟后成功。 我下面的代码有问题吗?我真的很感谢所有的答案

object RetrofitBuilder {

    private const val BASE_URL = "http://localhost/"

    private fun getRetrofit(): Retrofit {

        val httpClient = OkHttpClient
            .Builder()
            .connectTimeout(15, TimeUnit.SECONDS)
            .readTimeout(15, TimeUnit.SECONDS)
            .cache(null)
            .addInterceptor { chain ->
                val response = chain.proceed(chain.request())
                response
                    .newBuilder()
                    .header("cache-control", "no-cache")
                    .build()
            }
            .build()

        return Retrofit.Builder()
            .baseUrl(BASE_URL)
            .client(httpClient)
            .addCallAdapterFactory(ResultCallAdapterFactory())
            .addConverterFactory(ScalarsConverterFactory.create())
            .addConverterFactory(GsonConverterFactory.create())
            .build()
    }

    val apiService: ApiService = getRetrofit().create(ApiService::class.java)
}
android kotlin retrofit
© www.soinside.com 2019 - 2024. All rights reserved.