Android 如何在Marshmallow中以编程方式清除应用程序缓存
我想在Android Marshmallow 6.0中以编程方式清除我的应用程序缓存。我尝试了下面的代码,但它在棉花糖中不起作用。我在mymanifests.xml中添加了CLEAR_APP_CACHE权限Android 如何在Marshmallow中以编程方式清除应用程序缓存,android,performance,android-studio,Android,Performance,Android Studio,我想在Android Marshmallow 6.0中以编程方式清除我的应用程序缓存。我尝试了下面的代码,但它在棉花糖中不起作用。我在mymanifests.xml中添加了CLEAR_APP_CACHE权限 public void trimCache(Context context) { try { File dir = context.getCacheDir(); if (dir != null && dir.
public void trimCache(Context context) {
try {
File dir = context.getCacheDir();
if (dir != null && dir.isDirectory()) {
deleteDir(dir);
}
} catch (Exception e) {
// TODO: handle exception
}
}
public 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();
}
公共缓存(上下文){
试一试{
File dir=context.getCacheDir();
if(dir!=null&&dir.isDirectory()){
deleteDir(dir);
}
}捕获(例外e){
//TODO:处理异常
}
}
公共布尔删除目录(文件目录){
if(dir!=null&&dir.isDirectory()){
String[]children=dir.list();
for(int i=0;i
在清单中添加以下权限:
<uses-permission android:name="android.permission.CLEAR_APP_CACHE" />
它怎么不起作用?你的应用程序崩溃了吗?“请详细说明,以便人们能更好地帮助您。”HadiSatrio感谢您的回复。我在Android studio的监视器选项卡中看到过。它不能释放内存。而且它还会导致我的应用程序崩溃,错误是内存不足。我没有存储卡,手机里只有500mb的可用内存。我也面临着同样的问题。如果有人已经决定了,请帮助。谢谢我忘了添加我的问题,但我已经添加了权限。
public void trimCache(Context context) {
try {
File dir = context.getCacheDir();
if (dir != null && dir.isDirectory()) {
deleteDir(dir);
}
File exDir = context.getExternalCacheDir();
if (exDir != null && exDir.isDirectory()) {
deleteDir(exDir);
}
} catch (Exception e) {
// TODO: handle exception
}
}