我正在写一个应用程序,我计划将从服务器读取的图像存储到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 WebApi2中的缓存?
- 2. 管理浏览器缓存
- 3. 春季HTTP缓存管理
- 4. 设计缓存管理API
- 5. 管理MapView的缓存
- 6. ASP.NET缓存管理器
- 7. 如何管理流缓冲?
- 8. iOS - 缓存图像和管理存储
- 9. 如何使用Google云端存储管理缓存
- 10. 如何在弹簧缓存中使用多个缓存管理器配置java
- 11. 如何在活动管理员中实现页面缓存或动作缓存
- 12. 如何在使用2个缓存库时管理ios中的图像缓存
- 13. osxfuse:如何清理缓存?
- 14. 如何清理tomcat缓存?
- 15. 如何处理BitmapImage缓存?
- 16. HTTP缓存管理器不缓存请求的内容
- 17. 使用节点缓存管理器对续集缓存
- 18. magento中的缓存管理和索引管理
- 19. 寻找一个C#缓存管理器
- 20. 缓存管理的最佳实践
- 21. 在js中同步管理缓存
- 22. 使用Simplepie管理RSS缓存fetch_feed()
- 23. Hazelcast + Spring Boot +缓存管理器
- 24. 并行Spring Boot多缓存管理器
- 25. 缓存清单中的资源管理
- 26. 缓存管理的设计模式
- 27. WCF FluentNhibernate会话管理和缓存
- 28. watchQuery(Angular-Apollo)的高速缓存管理
- 29. 缓存管理搜索引擎
- 30. 管理缓存的唯一密钥?