当前位置: 首页 > 知识库问答 >
问题:

Android:清除所有应用程序的缓存?

晏炳
2023-03-14

谢谢

共有1个答案

罗均
2023-03-14

以下是一种不需要IPackageDataObserver.aidl的方法:

PackageManager  pm = getPackageManager();
// Get all methods on the PackageManager
Method[] methods = pm.getClass().getDeclaredMethods();
for (Method m : methods) {
    if (m.getName().equals("freeStorage")) {
        // Found the method I want to use
        try {
            long desiredFreeStorage = 8 * 1024 * 1024 * 1024; // Request for 8GB of free space
            m.invoke(pm, desiredFreeStorage , null);
        } catch (Exception e) {
            // Method invocation failed. Could be a permission problem
        }
        break;
    }
}

您需要在您的舱单中包含以下内容:

<uses-permission android:name="android.permission.CLEAR_APP_CACHE"/>

这要求Android清除足够的缓存文件,以便有8GB的空闲。如果你把这个数字设置得足够高,你就可以达到你想要的(Android将删除缓存中的所有文件)。

 类似资料:
  • 我的问题出在这里: 因为方法deleteApplicationCacheFiles为null,所以会显示我的toast消息。有什么建议吗?

  • 更新我的Android应用程序的www文件夹(使用Cordova 3.6.3)时,该应用程序会显示我的www的旧缓存版本。 如果我清除应用程序数据(来自Android- 当应用程序更新时(或每次应用程序启动时),如何强制应用程序清除缓存?

  • void clear_all_cache(int expire time) This clears the entire template cache. As an optional parameter, you can supply a minimum age in seconds the cache files must be before they will get cleared. 清除所

  • 问题内容: 我想编写一个实用程序,用户可以在其中选择一组已安装的应用程序并清除其数据缓存,例如,您可以使用内置的“设置”->“应用程序”设置屏幕中的“清除缓存”按钮来手动执行此操作。 如何访问每个应用程序具有多少缓存数据并以编程方式清除这些缓存? 问题答案: 普通的SDK应用程序无权访问(更不用说修改)其他应用程序的缓存了,甚至无权修改您的文件。 在具有以root用户身份运行的应用程序的有根电话上

  • 似乎大多数方法在Android M中都不起作用了。 作为参考,我在讨论中使用了以下代码:Android:清除所有应用程序的缓存? 与此权限相结合 因为我认为它不会删除某些应用程序的缓存,而是删除足够多的应用程序,以清除预期的ram大小...但是设置应用程序可以清除某些应用程序的缓存 更新就像例外答案解释的那样,在Android M及以上的设备上,似乎没有办法删除没有root的tha应用缓存。但如果

  • 本文向大家介绍Android清除应用缓存的两种方法,包括了Android清除应用缓存的两种方法的使用技巧和注意事项,需要的朋友参考一下 第一种 使用ActivityManager中的clearApplicationUserData方法,代码如下: 这种方式的问题就是不知清除cache,连带应用的data也删除了。如下图所示: 第二种 使用PackageManager中的deleteApplicat