比如文件管理器中的,各种类型的数据占用大小 系统 x.xGB 应用数据 x.xGB 视频 图片 其他 可用空间 这个在安卓中该如何统计
1
TArysiyehua 2022-12-04 17:07:47 +08:00
android 系统通过媒体库管控所有文件 MediaSotre ,任何公共文件的修改都会同步给它
|
2
linhaiczy OP ong totalBytes = storageStatsManager.getTotalBytes(uuid);
long freeBytes = storageStatsManager.getFreeBytes(uuid); StorageStats storageStats = storageStatsManager.queryStatsForUser(uuid, user); long appBytes = storageStats.getAppBytes(); long dataBytes = storageStats.getDataBytes(); ExternalStorageStats externalStorageStats = storageStatsManager.queryExternalStatsForUser(uuid,user); long totalExternalUsedBytes = externalStorageStats.getTotalBytes(); long imageBytes = externalStorageStats.getImageBytes(); long audioBytes = externalStorageStats.getAudioBytes(); long videoBytes = externalStorageStats.getVideoBytes(); long appsSize = Utils.sub(Utils.add(appBytes, dataBytes).longValue(), totalExternalUsedBytes).longValue(); long otherSize = Utils.sub(totalExternalUsedBytes, imageBytes, audioBytes, videoBytes).longValue(); long dataSize = Utils.add(appBytes, dataBytes, freeBytes).longValue(); long system = Utils.sub(totalBytes, dataSize).longValue(); 其中 appsSize 是计算的所有应用大小 目前是这么获取的,但总感觉有点问题 在用 adb 内存填充后,生成的文件会被统计到 storageStats.getDataBytes()中 |