0
我正在使用Disk Cache文件夾來存儲圖像文件。它可以很好地工作,但是當任何人從他/她的設備上執行Clean Data之後,緩存文件夾就會變成一個文件。Android Cache文件夾創建爲文件
以下是創建緩存目錄
File myDiskCacheDir=getDiskCacheDir(this,IMAGE_CACHE_DIR);
diskCache=new MyDiskCache(this,myDiskCacheDir);
public static File getDiskCacheDir(Context context, String uniqueName) {
if(Environment.MEDIA_MOUNTED.equals(Environment.getExternalStorageState()) ||(!isExternalStorageRemovable()))
{
cachePath=getExternalCacheDir(context).getPath();
}
else {
cachePath=context.getCacheDir().getPath();
}
new File(cachePath).mkdirs();
return new File(cachePath + File.separator + uniqueName);
}
public static File getExternalCacheDir(Context context) {
if (Utils.hasFroyo()) {
return context.getExternalCacheDir();
}
// Before Froyo we need to construct the external cache dir ourselves
final String cacheDir = "/Android/data/" + context.getPackageName() + "/cache/";
File cacheDirFile=new File(Environment.getExternalStorageDirectory().getPath() + cacheDir);
cacheDirFile.mkdirs();
return cacheDirFile;
}
我在Android 4.2及以下唯一面臨這個問題的代碼。
事實上清晰的數據後,甚至沒有創建緩存directoty的父目錄(即從context.getPackageName()返回,說com.example.app –
是ExternalCacheDirectory發現問題或CacheDir? –
ExternalCacheDirectory –