【发布时间】:2011-10-17 09:44:27
【问题描述】:
我需要找到一种方法来清除我的应用程序存储在缓存中的数据。基本上我正在使用 Fedor 的 (Lazy load of images in ListView) 惰性列表实现,我想在加载了例如 100 个图像时自动清除缓存.任何想法如何做到这一点?
编辑: 代码:
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
list=(ListView)findViewById(R.id.list);
adapter=new LazyAdapter(this, mStrings);
list.setAdapter(adapter);
deleteCache(this);
adapter.notifyDataSetChanged();
}
public static void deleteCache(Context context) {
try {
File dir = context.getCacheDir();
if (dir != null && dir.isDirectory()) {
deleteDir(dir);
}
} catch (Exception e) {}
}
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;
}
}
}
return dir.delete();
}
【问题讨论】:
-
你好,你有答案吗?我和你有同样的问题。我想要清除缓存以加载新图像。谢谢
标签: android list caching lazy-evaluation