一、概述
在系统中,可能出现系统空间不够或者cacheDir等目录受系统配额限制等情况,需要应用开发者关注系统剩余空间,同时控制应用自身占用的空间大小。
二、接口说明
表1 文件系统空间和应用空间统计
|
模块 |
接口名 |
功能 |
|
@ohos.file.storageStatistics |
getCurrentBundleStats |
获取当前应用的存储空间大小(单位为Byte)。 |
|
@ohos.file.storageStatistics |
getFreeSize |
异步获取内置存储的可用空间大小(单位为Byte)。 说明:从API version 15开始,支持该接口。 |
|
@ohos.file.storageStatistics |
getFreeSizeSync |
同步获取内置存储的可用空间大小(单位为Byte)。 说明:从API version 15开始,支持该接口。 |
|
@ohos.file.storageStatistics |
getTotalSize |
异步获取内置存储的总空间大小(单位为Byte)。 说明:从API version 15开始,支持该接口。 |
|
@ohos.file.storageStatistics |
getTotalSizeSync |
同步获取内置存储的总空间大小(单位为Byte)。 说明:从API version 15开始,支持该接口。 |
|
@ohos.file.statvfs |
getFreeSize |
获取指定文件系统的剩余空间大小(单位为Byte)。 |
|
@ohos.file.statvfs |
getTotalSize |
获取指定文件系统的总空间大小(单位为Byte)。 |
表2 应用空间统计
注意 表格中统计路径列涉及的目录均指应用的沙箱路径,查看路径前需要先进入对应的应用沙箱空间 进入沙箱空间需要执行以下命令:
- hdc shell。
- nsenter -t {pid} -m sh。
|
BundleStats属性 |
含义 |
统计路径 |
|
appSize |
应用安装文件大小(单位为Byte) |
应用安装文件保存在以下目录: |
|
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 |
三、 开发示例
3.1 获取文件系统数据分区剩余空间大小
效果图
示例代码
getFreeSize 方法源码
3.2 获取当前应用的存储空间大小
效果图
示例代码
3.3 异步获取内置存储的总空间大小
示例代码
getTotalSize方法 源码
3.4 同步获取内置存储的总空间大小
效果图
示例代码
getTotalSizeSync 方法源码
3.5 异步获取内置存储的可用空间大小
示例代码
getFreeSize方法源码
3.6 同步获取内置存储的可用空间大小
示例代码
getFreeSizeSync方法源码









所有评论(0)