从App info获取我的应用程序使用的内部存储大小

时间:2018-04-03 09:00:08

标签: android storage android-debug android-internal-storage

从我的Android应用程序中尝试使用内部存储。换句话说,我需要在App信息中显示存储值(查看截图图片)。我试过下面的代码,但是我得到的价值低于appinfo中显示的存储价值。请帮助我解决我所缺少的问题。

storage image

   public void GetOccupyMemory() {
    total_usage = getFileDataSize() + getFolderSize();
}

public long getFileDataSize() {
    long size = 0;
    File filedir = getActivity().getFilesDir().getParentFile();
    for (File fdir : filedir.listFiles()) {
        if (fdir.isDirectory()) {
            long dirfiles = getSize(fdir);
            size += dirfiles;
        } else {
            size += fdir.length();
        }
    }
    return size / (1024 * 1024);
}

public long getFolderSize() {
    try {
        long apsize = new File(getActivity().getPackageManager().getApplicationInfo(getActivity().getPackageName(), 0).sourceDir).length();
        return apsize / (1024 * 1024);
    } catch (Exception e) {
        return 0;
    }
}

0 个答案:

没有答案