有什么方法可以避免在 Android root 设备上的 http_cache 中存储 api 请求和响应。
我已经尝试过“缓存控制”,但没有成功。
OkHttp 控制缓存。如果要禁用缓存,请在
中设置
cacheSize=0
node_modules/react-native/ReactAndroid/src/main/java/com/facebook/react/modules/network/OkHttpClientProvider.java
您可以创建一个自定义
OkHttpClientFactory
类来阻止默认的缓存行为:
class OkHttpClientFactoryWithoutCache : OkHttpClientFactory {
override fun createNewNetworkModuleClient(): OkHttpClient {
// No timeouts by default
// No cache by default
return OkHttpClient.Builder()
.connectTimeout(0, TimeUnit.MILLISECONDS)
.readTimeout(0, TimeUnit.MILLISECONDS)
.writeTimeout(0, TimeUnit.MILLISECONDS)
.cookieJar(ReactCookieJarContainer()).build()
}
}
在 MainActivity onCreate 方法中设置自定义 HttpClientFactory:
override fun onCreate(savedInstanceState: Bundle?) {
OkHttpClientProvider.setOkHttpClientFactory(OkHttpClientFactoryWithoutCache())
super.onCreate(null);
}