app/src/main/java/net/nashlegend/sourcewall/request/cache/RequestCache.java
(开头部分) 16KB这里只显示每个文件的开头 60 行。登录后可以解锁完整代码。
package net.nashlegend.sourcewall.request.cache;
import android.annotation.TargetApi;
import android.content.Context;
import android.os.AsyncTask;
import android.os.Build;
import android.os.Environment;
import android.os.StatFs;
import android.support.annotation.Nullable;
import android.support.v4.util.LruCache;
import net.nashlegend.sourcewall.App;
import net.nashlegend.sourcewall.util.ErrorUtils;
import java.io.File;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;
public class RequestCache {
private static final int DEFAULT_MEM_CACHE_SIZE = 1024 * 5; // 5MB
private static final int DEFAULT_DISK_CACHE_SIZE = 1024 * 1024 * 50; // 50MB
private static final int DISK_CACHE_INDEX = 0;
private static final boolean DEFAULT_MEM_CACHE_ENABLED = true;
private static final boolean DEFAULT_DISK_CACHE_ENABLED = true;
private static final boolean DEFAULT_INIT_DISK_CACHE_ON_CREATE = false;
private DiskLruCache mDiskLruCache;
private LruCache<String, String> mMemoryCache;
private RequestCacheParams mCacheParams;
private final Object mDiskCacheLock = new Object();
private boolean mDiskCacheStarting = true;
private static RequestCache requestCache;
private RequestCache(RequestCacheParams cacheParams) {
init(cacheParams);
}
synchronized public static RequestCache getInstance() {
if (requestCache == null) {
requestCache = new RequestCache(new RequestCacheParams(App.getApp(), "request.cache"));
requestCache.initDiskCache();
}
return requestCache;
}
private void init(RequestCacheParams cacheParams) {
mCacheParams = cacheParams;
if (mCacheParams.memoryCacheEnabled) {
mMemoryCache = new LruCache<String, String>(mCacheParams.memCacheSize) {
/**
* 以k计算cache
*/
@Override
后面还有 419 行代码,解锁后查看完整代码
24 小时内免费解锁 3 个项目,之后 1 积分/个。 规则说明
AI 解读
登录后可用,每次 10 积分,解读结果公开显示在下面。
还没有人解读过这个文件。
