我正在寫一個應用程序,我計劃將從服務器讀取的圖像存儲到Android緩存。當我在某處讀到「每當內存不足時Android系統緩存可以被系統清除」,所以如果我的圖像被刪除,我將如何得到圖像被刪除的指示?如何管理緩存?
Q
如何管理緩存?
0
A
回答
1
我認爲沒有辦法知道Android是否已清除緩存。但是,如果將數據保存到緩存文件夾,則可以保留文件名並檢查文件是否存在。
我對我的數據有一個下載任務,它首先檢查緩存,如果沒有數據存在,則開始下載。否則使用緩存的文件。
0
對於清除應用程序緩存把這個代碼的onDestroy()
保護無效的onDestroy(){super.onDestroy();
try {
trimCache(this);
// Toast.makeText(this,"onDestroy " ,Toast.LENGTH_LONG).show();
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
public static void trimCache(Context context) {
try {
File dir = context.getCacheDir();
if (dir != null && dir.isDirectory()) {
deleteDir(dir);
}
} catch (Exception e) {
// TODO: handle exception
}
}
public static boolean deleteDir(File dir) {
if (dir != null && dir.isDirectory()) {
String[] children = dir.list();
for (int i = 0; i < children.length; i++) {
boolean success = deleteDir(new File(dir, children[i]));
if (!success) {
return false;
}
}
}
// The directory is now empty so delete it
return dir.delete();
}
相關問題
- 1. ASP.NET緩存管理
- 2. 如何管理ASP.NET WebApi2中的緩存?
- 3. Linux內存管理(緩存)
- 4. Symfony2:緩存管理API
- 5. ASP.NET緩存管理器
- 6. Android中的緩存管理
- 7. Android緩存管理器
- 8. IONIC2高速緩存管理
- 9. 管理瀏覽器緩存
- 10. IOS:管理緩存項目
- 11. 設計緩存管理API
- 12. 管理MapView的緩存
- 13. iPhone緩存管理器
- 14. 春季HTTP緩存管理
- 15. 如何管理流緩衝?
- 16. Jboss,Infinispan,如何配置Jboss作爲託管緩存管理器
- 17. QWebView的內存(緩存)管理
- 18. iOS - 緩存圖像和管理存儲
- 19. 如何從代碼管理內存/緩存?
- 20. 如何使用Google雲端存儲管理緩存
- 21. UIButton內存管理 - 如何管理它?
- 22. 如何在活動管理員中實現頁面緩存或動作緩存
- 23. 如何在彈簧緩存中使用多個緩存管理器配置java
- 24. 如何在使用2個緩存庫時管理ios中的圖像緩存
- 25. osxfuse:如何清理緩存?
- 26. 如何處理BitmapImage緩存?
- 27. 如何清理tomcat緩存?
- 28. HTTP緩存管理器不緩存請求的內容
- 29. 使用節點緩存管理器對續集緩存
- 30. magento中的緩存管理和索引管理