HarmonyOS 鸿蒙Next 4.0 关于获取手机系统内存大小

HarmonyOS 鸿蒙Next 4.0 关于获取手机系统内存大小 在系统中,可能出现系统空间不够或者cacheDir等目录受系统配额限制等情况,需要应用开发者关注系统剩余空间,同时控制应用自身占用的空间大小。

接口说明

API的详细介绍请参见:ohos.file.statvfsohos.file.storageStatistics

表1 文件系统空间和应用空间统计

模块 接口名 功能
[@ohos](/user/ohos).file.storageStatistics getCurrentBundleStats 获取当前应用的存储空间大小(单位为Byte)。
[@ohos](/user/ohos).file.statvfs getFreeSize 获取指定文件系统的剩余空间大小(单位为Byte)。
[@ohos](/user/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](/user/ohos).file.statvfs';
import storageStatistics from '[@ohos](/user/ohos).file.storageStatistics';
  1. 获取文件系统数据分区剩余空间大小:

  2. 获取指定文件系统的总空间大小:

  3. 获取当前应用的存储空间大小:


更多关于HarmonyOS 鸿蒙Next 4.0 关于获取手机系统内存大小的实战教程也可以访问 https://www.itying.com/category-93-b0.html

3 回复

试过了,目前还是不能得到系统的总空间大小

更多关于HarmonyOS 鸿蒙Next 4.0 关于获取手机系统内存大小的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html


我看了API9跟API10,关于获取系统内存的API没有提供。倒是有一个:

@ohos.file.volumeManager (卷管理)


这个不提供给第三方应用使用。

API9之前倒是有。现在不支持了。

在HarmonyOS 4.0中,获取手机系统内存大小可以通过SystemMemoryInfo类实现。该类提供了获取系统内存信息的方法。可以使用getTotalSize()方法获取设备的总内存大小,单位为字节。示例代码如下:

import systemMemoryInfo from '@ohos.systemMemoryInfo';

let memoryInfo = systemMemoryInfo.getSystemMemoryInfo();
let totalMemory = memoryInfo.getTotalSize();
console.log("Total Memory: " + totalMemory + " bytes");

getTotalSize()返回的是设备的总物理内存大小。如果需要获取其他内存信息,如可用内存或已使用内存,可以使用getAvailableSize()getUsedSize()方法。这些方法同样返回字节为单位的值。

回到顶部