java - 如何获取android中已安装应用程序的缓存大小

标签 java android

我使用以下代码来获取 Android 上所有已安装应用程序的列表,我的问题是如何获取这些应用程序使用的缓存大小, 任何帮助将不胜感激。

public class CacheActivity extends Activity {

    private ListView lv;
    // private TextView tv;
    private List<PackageInfo> pkNames;

    // private Context context;

    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.cache);

        lv = (ListView) findViewById(R.id.cacheList);
        // tv = (TextView) findViewById(R.id.text1);
        pkNames = getPackageManager().getInstalledPackages(0);

        ArrayAdapter<PackageInfo> adapter = new ArrayAdapter<PackageInfo>(this,
                android.R.layout.simple_list_item_1, pkNames);
        lv.setAdapter(adapter);

    }
}

最佳答案

I don't think that's currently possible.正如该线程中提到的,没有可用的公共(public) API。然而,提到了一个小技巧here通过隐藏函数获取已安装应用程序的大小,但不直接获取缓存大小。我想他们想隐藏有关其他应用程序的一些信息有点正常。

关于java - 如何获取android中已安装应用程序的缓存大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11268110/

相关文章:

java - 为什么当我关闭 Activity 时总是发出火警警报

java - 如何获取不同时区的本地时间?

java - 程序找不到文件

java - 使用<include>标签时如何使用Onclick事件

java - 在 switch 语句中显示变量

java - 在特定布局中添加矩阵

java - 在 Java 中连接两个大文件(超过 1.5GB)的最有效(最快)的方法是什么?

java - 如果我在一个请求中收到四个 pojo,如何重新编写代码进行改造?

android - 在build.gradle中导出环境变量

android - 使用JitPack构建库