在Android中使用clearApplicationUserData()方法清除缓存

在Android中使用clearApplicationUserData()方法清除缓存,android,caching,Android,Caching,我正在使用clearApplicationUserData()清除应用程序缓存。一旦它运行,就会突然关闭活动。不调用活动的onPause()、onStop()、onDestroy()。请有人给我解释一下这个方法是如何工作的?请尝试一下这个代码来清除android中特定应用的所有缓存 import java.io.File; import android.app.Application; import android.util.Log; public class MyApplication e

我正在使用
clearApplicationUserData()
清除应用程序缓存。一旦它运行,就会突然关闭活动。不调用活动的
onPause()、onStop()、onDestroy()
。请有人给我解释一下这个方法是如何工作的?

请尝试一下这个代码来清除android中特定应用的所有缓存

import java.io.File;

import android.app.Application;
import android.util.Log;

public class MyApplication extends Application {

    private static MyApplication instance;

    @Override
    public void onCreate() {
        super.onCreate();
        instance = this;
    }

    public static MyApplication getInstance() {
        return instance;
    }

    public void clearApplicationData() {

        File cacheDirectory = getCacheDir();
        File applicationDirectory = new File(cacheDirectory.getParent());
        if (applicationDirectory.exists()) {

            String[] fileNames = applicationDirectory.list();

            for (String fileName : fileNames) {

                if (!fileName.equals("lib")) {

                    deleteFile(new File(applicationDirectory, fileName));

                }

            }

        }

    }