js-apis-storage-statistics.md 5.5 KB
Newer Older
1 2 3
# 应用空间统计

> ![icon-note.gif](public_sys-resources/icon-note.gif) **说明:**
Z
zhangxingxia 已提交
4
> 本模块首批接口从API version 8开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。
5 6 7 8 9 10 11 12 13 14 15 16 17

## 导入模块

```js
import storagestatistics from "@ohos.storagestatistics";
```

## 系统能力

SystemCapability.FileManagement.StorageService.SpatialStatistics

## storagestatistics.getTotalSizeOfVolume

Z
zhangxingxia 已提交
18
getTotalSizeOfVolume(volumeUuid: string): Promise<number>
19 20 21 22 23 24 25 26 27 28 29

异步获取指定卷的总空间大小,以promise方式返回。

- 参数

  | 参数名     | 类型   | 必填 | 说明 |
  | ---------- | ------ | ---- | ---- |
  | volumeUuid | string | 是   | 卷id |

- 返回值

Z
zhangxingxia 已提交
30 31 32
  | 类型                  | 说明             |
  | --------------------- | ---------------- |
  | Promise<number> | 返回指定卷总空间 |
33 34 35 36 37 38

- 示例

  ```js
  let uuid = "";
  storagestatistics.getTotalSizeOfVolume(uuid).then(function(number){
Z
zhangxingxia 已提交
39 40 41
      console.info("getTotalSizeOfVolume successfully:"+ number);
  }).catch(function(err){
      console.info("getTotalSizeOfVolume failed with error:"+ err);
42 43 44 45 46
  });
  ```

## storagestatistics.getTotalSizeOfVolume

Z
zhangxingxia 已提交
47
getTotalSizeOfVolume(volumeUuid: string, callback:AsyncCallback<number>):void
48 49 50 51 52

异步获取指定卷的总空间大小,以callback方式返回。

- 参数

Z
zhangxingxia 已提交
53 54 55 56
  | 参数名     | 类型                                 | 必填 | 说明                       |
  | ---------- | ------------------------------------ | ---- | -------------------------- |
  | volumeUuid | string                               | 是   | 卷id                       |
  | callback   | callback:AsyncCallback<number> | 是   | 获取指定卷总空间之后的回调 |
57 58 59 60 61 62 63 64 65 66 67 68 69 70

- 示例

  ```js
  let uuid = "";
  storagestatistics.getTotalSizeOfVolume(uuid, function(error, number){
      // do something
  });
  ```

  

## storagestatistics.getFreeSizeOfVolume

Z
zhangxingxia 已提交
71
getFreeSizeOfVolume(volumeUuid: string): Promise<number>
72 73 74 75 76 77 78 79 80 81 82

异步获取指定卷的可用空间大小,以promise方式返回。

- 参数

  | 参数名     | 类型   | 必填 | 说明 |
  | ---------- | ------ | ---- | ---- |
  | volumeUuid | string | 是   | 卷id |

- 返回值

Z
zhangxingxia 已提交
83 84 85
  | 类型                  | 说明               |
  | --------------------- | ------------------ |
  | Promise<number> | 返回指定卷可用空间 |
86 87 88 89 90 91

- 示例

  ```js
  let uuid = "";
  storagestatistics.getFreeSizeOfVolume(uuid).then(function(number){
Z
zhangxingxia 已提交
92 93 94
      console.info("getFreeSizeOfVolume successfully:"+ number);
  }).catch(function(err){
      console.info("getFreeSizeOfVolume failed with error:"+ err);
95
  });
Z
zhangxingxia 已提交
96
  
97 98 99 100
  ```

## storagestatistics.getFreeSizeOfVolume

Z
zhangxingxia 已提交
101
getFreeSizeOfVolume(volumeUuid: string, callback:AsyncCallback<number>):void
102 103 104 105 106

异步获取指定卷的可用空间大小,以callback方式返回。

- 参数

Z
zhangxingxia 已提交
107 108 109 110
  | 参数名     | 类型                                 | 必填 | 说明                         |
  | ---------- | ------------------------------------ | ---- | ---------------------------- |
  | volumeUuid | string                               | 是   | 卷id                         |
  | callback   | callback:AsyncCallback<number> | 是   | 获取指定卷可用空间之后的回调 |
111 112 113 114 115 116 117 118 119 120 121 122

- 示例

  ```js
  let uuid = "";
  storagestatistics.getFreeSizeOfVolume(uuid, function(error, number){
      // do something
  });
  ```

## storagestatistics.getBundleStats

Z
zhangxingxia 已提交
123
getBundleStats(volumeUuid: string,  packageName:String, ): Promise<BundleStats>
124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145

异步获取指定卷上的应用存储状态,以promise方式返回。

- 参数

  | 参数名      | 类型   | 必填 | 说明     |
  | ----------- | ------ | ---- | -------- |
  | volumeUuid  | string | 是   | 卷id     |
  | packageName | string | 是   | 应用包名 |

- 返回值

  | 类型                                       | 说明                       |
  | ------------------------------------------ | -------------------------- |
  | Promise<[Bundlestats](#bundlestats)> | 返回指定卷上的应用存储状态 |

- 示例

  ```js
  let uuid = "";
  let packageName = "";
  storagestatistics.getBundleStats(uuid, packageName).then(function(BundleStats){
Z
zhangxingxia 已提交
146 147 148
      console.info("getBundleStats successfully:"+ JSON.stringify(BundleStats));
  }).catch(function(err){
      console.info("getBundleStats failed with error:"+ err);
149 150 151 152 153
  });
  ```

## storagestatistics.getBundleStats

Z
zhangxingxia 已提交
154
getBundleStats(volumeUuid: string, callback:AsyncCallback<BundleStats>):void
155 156 157 158 159

异步获取指定卷上的应用存储状态,以callback方式返回。

- 参数

Z
zhangxingxia 已提交
160 161 162 163
  | 参数名     | 类型                                                      | 必填 | 说明                                 |
  | ---------- | --------------------------------------------------------- | ---- | ------------------------------------ |
  | volumeUuid | string                                                    | 是   | 卷id                                 |
  | callback   | callback:AsyncCallback<[Bundlestats](#bundlestats)> | 是   | 获取指定卷上的应用存储状态之后的回调 |
164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183

- 示例

  ```js
  let uuid = "";
  let packageName = "";
  storagestatistics.getBundleStats(uuid, packageName, function(error, BundleStats){
      // do something
  });
  ```

## BundleStats

### 属性

| 名称      | 类型   | 说明           |
| --------- | ------ | -------------- |
| appSize   | number | app数据大小    |
| cacheSize | number | 缓存数据大小   |
| dataSize  | number | 应用总数据大小 |