-1
A
回答
2
這是我用來在SD卡或內部存儲上緩存的內容,但要小心。您必須定期清理緩存,特別是在內部存儲上。
private static boolean sIsDiskCacheAvailable = false;
private static File sRootDir = null;
public static void initializeCacheDir(Context context){
Context appContext = context.getApplicationContext();
File rootDir = null;
if(Environment.MEDIA_MOUNTED.equals(Environment.getExternalStorageState())){
// SD card is mounted, use it for the cache
rootDir = appContext.getExternalCacheDir();
} else {
// SD card is unavailable, fall back to internal cache
rootDir = appContext.getCacheDir();
if(rootDir == null){
sIsDiskCacheAvailable = false;
return;
}
}
sRootDir = rootDir;
// If the app doesn't yet have a cache dir, create it
if(sRootDir.mkdirs()){
// Create the '.nomedia' file, to prevent the mediastore from scanning your temp files
File nomedia = new File(sRootDir.getAbsolutePath(), ".nomedia");
try{
nomedia.createNewFile();
} catch(IOException e){
Log.e(ImageCache.class.getSimpleName(), "Failed creating .nomedia file!", e);
}
}
sIsDiskCacheAvailable = sRootDir.exists();
if(!sIsDiskCacheAvailable){
Log.w(ImageCache.class.getSimpleName(), "Failed creating disk cache directory " + sRootDir.getAbsolutePath());
} else {
Log.d(ImageCache.class.getSimpleName(), "Caching enabled in: " + sRootDir.getAbsolutePath());
// The cache dir is created, you can use it to store files
}
}
0
您可以使用Context的getExternalCacheDir()方法獲取文件引用,您可以將文件存儲在SD卡上。當然,您必須像往常一樣進行常規檢查以確保外部存儲器已安裝並可寫入,但這可能是存儲該類型臨時文件的最佳位置。您可能想要做的一件事就是設置可以在緩存目錄中使用的最大空間量,然後,每當需要編寫新的臨時文件時,如果該文件超過最大空間,則開始刪除臨時文件,從最早的文件開始,直到有足夠的空間。 或者,也許像這樣的工作: 「」
if(Environment.getExternalStorageState().equals(Environment.MEDIA_MOUNTED)) {
File externalRoot = Environment.getExternalStorageDirectory();
File tempDir = new File(externalRoot, ".myAppTemp");
}
前面加上應該隱藏文件夾,我相當確定。
相關問題
- 1. 保存文件在內部存儲android
- 2. Android:將android設備的內部存儲器中的文本文件存儲在外部存儲卡中?
- 3. 內部存儲Android - 設備內存
- 4. android - 保存文件到內部存儲
- 5. 在設備的本地存儲上創建Android保存文件?
- 6. 將文件存儲在Android的外部存儲和內部存儲中
- 7. Android - 將文件保存到內部存儲器
- 8. Android將文件保存到SD卡,而不是內部存儲
- 9. Android將音頻文件保存到內部存儲
- 10. 如何保存圖像到外部存儲設備不保存在內部
- 11. 在Android的內部存儲上保存文件
- 12. Android設備中的內存和存儲
- 13. 保存在內部存儲中的文件沒有被保存
- 14. 將持久文本文件保存在內部存儲器中
- 15. 一些Android設備將內部存儲視爲SD卡和外部存儲EXTSD
- 16. 訪問在Android設備上保存到內部存儲的數據
- 17. 將EditText中的文本保存到Android內部存儲
- 18. 將公共文件保存在內部存儲器中
- 19. Android將文件保存到存儲卡
- 20. 爲什麼getExternalFilesDir將我的文件保存到內部存儲
- 21. 創建xml文件並將其保存在內部存儲器中android
- 22. 使用設備的內部存儲器
- 23. 將字符串保存爲設備內部存儲器上的圖像
- 24. 如何將下載的文件保存到android的內部存儲中?
- 25. 將視頻保存到內部存儲
- 26. 將數據保存到內部存儲
- 27. 將設備上的文件保存在卸載後的設備
- 28. Android:無法從Android設備上的內部存儲器訪問圖像文件
- 29. 將下載的文件保存到內部存儲器java/android失敗
- 30. 將字符串保存到內部存儲上的特定文件夾 - Android