harmony 鸿蒙应用及文件系统空间统计
应用及文件系统空间统计
在系统中,可能出现系统空间不够或者cacheDir等目录受系统配额限制等情况,需要应用开发者关注系统剩余空间,同时控制应用自身占用的空间大小。
接口说明
API的详细介绍请参见ohos.file.statvfs、ohos.file.storageStatistics。
表1 文件系统空间和应用空间统计
模块 | 接口名 | 功能 |
---|---|---|
\@ohos.file.storageStatistics | getCurrentBundleStats | 获取当前应用的存储空间大小(单位为Byte)。 |
\@ohos.file.statvfs | getFreeSize | 获取指定文件系统的剩余空间大小(单位为Byte)。 |
\@ohos.file.statvfs | getTotalSize | 获取指定文件系统的总空间大小(单位为Byte)。 |
表2 应用空间统计
BundleStats属性 | 含义 | 统计路径 |
---|---|---|
appSize | 应用安装文件大小(单位为Byte) | 应用安装文件保存在以下目录: /data/storage/el1/bundle |
cacheSize | 应用缓存文件大小(单位为Byte) | 应用的缓存文件保存在以下目录: /data/storage/el1/base/cache /data/storage/el1/base/haps/entry/cache /data/storage/el2/base/cache /data/storage/el2/base/haps/entry/cache |
dataSize | 应用文件存储大小(除应用安装文件和缓存文件)(单位为Byte) | 应用文件由本地文件、分布式文件以及数据库文件组成。 本地文件保存在以下目录(注意缓存文件目录为以下目录的子目录): /data/storage/el1/base /data/storage/el2/base 分布式文件保存在以下目录: /data/storage/el2/distributedfiles 数据库文件保存在以下目录: /data/storage/el1/database /data/storage/el2/database |
开发示例
- 获取文件系统数据分区剩余空间大小。
import statvfs from '@ohos.file.statvfs';
import { BusinessError } from '@ohos.base';
let path = "/data";
statvfs.getFreeSize(path, (err: BusinessError, number: number) => {
if (err) {
console.error(`Invoke getFreeSize failed, code is ${err.code}, message is ${err.message}`);
} else {
console.info(`Invoke getFreeSize succeeded, size is ${number}`);
}
});
- 获取当前应用的存储空间大小。
import storageStatistics from "@ohos.file.storageStatistics";
import { BusinessError } from '@ohos.base';
storageStatistics.getCurrentBundleStats((err: BusinessError, bundleStats: storageStatistics.BundleStats) => {
if (err) {
console.error(`Invoke getCurrentBundleStats failed, code is ${err.code}, message is ${err.message}`);
} else {
console.info(`Invoke getCurrentBundleStats succeeded, appsize is ${bundleStats.appSize}`);
}
});
你可能感兴趣的鸿蒙文章
0
赞
- 所属分类: 后端技术
- 本文标签:
热门推荐
-
2、 - 优质文章
-
3、 gate.io
-
8、 golang
-
9、 openharmony
-
10、 Vue中input框自动聚焦