我也在其他响应中获取大量缓存的数据吗?

时间:2019-01-14 15:53:24

标签: android

在其他活动中请求其他数据时,我正在大量缓存数据

我在以前的活动中尝试过此代码

protected Response<NetworkResponse> parseNetworkResponse(NetworkResponse response) {
    Cache.Entry cacheEntry = HttpHeaderParser.parseCacheHeaders(response);
    if (cacheEntry == null) {
        cacheEntry = new Cache.Entry();
    }
    final long cacheHitButRefreshed = 3 * 60 * 1000; // in 3 minutes cache will be hit, but also refreshed on background
    final long cacheExpired = 24 * 60 * 60 * 1000; // in 24 hours this cache entry expires completely
    long now = System.currentTimeMillis();
    final long softExpire = now + cacheHitButRefreshed;
    final long ttl = now + cacheExpired;
    cacheEntry.data = response.data;
    cacheEntry.softTtl = softExpire;
    cacheEntry.ttl = ttl;
    String headerValue;
    headerValue = response.headers.get("Date");
    if (headerValue != null) {
        cacheEntry.serverDate = HttpHeaderParser.parseDateAsEpoch(headerValue);
    }
    headerValue = response.headers.get("Last-Modified");
    if (headerValue != null) {
        cacheEntry.lastModified = HttpHeaderParser.parseDateAsEpoch(headerValue);
    }
    cacheEntry.responseHeaders = response.headers;
    return Response.success(response, cacheEntry);
}

@Override
protected void deliverResponse(NetworkResponse response) {
    mListener.onResponse(response);
}

0 个答案:

没有答案