js-apis-system-app.md 7.2 KB
Newer Older
1
# @system.app (应用上下文)
Z
zengyawen 已提交
2

zyjhandsome's avatar
zyjhandsome 已提交
3
> **说明:**
4
>
Z
zengyawen 已提交
5
> - 从API Version 7 开始,该接口不再维护,推荐使用新接口。
Z
zengyawen 已提交
6 7 8 9 10 11 12
> 
> - 本模块首批接口从API version 3开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。


## 导入模块


Y
yamila 已提交
13 14
```ts
import app from '@system.app'
Z
zengyawen 已提交
15 16 17 18 19
```


## app.getInfo

20
getInfo(): AppResponse
Z
zengyawen 已提交
21 22 23

获取当前应用配置文件中声明的信息。

24
从API Version 7开始,推荐使用[`@ohos.bundle`](js-apis-Bundle.md)
Z
zengyawen 已提交
25

Z
zengyawen 已提交
26 27 28 29
**系统能力:** SystemCapability.ArkUI.ArkUI.Lite

**返回值:**

30 31 32
| 参数类型 | 说明 |
| -------- | -------- |
| [AppResponse](#appresponse) | 定义AppResponse信息。 |
Z
zengyawen 已提交
33 34 35

**示例:**

36
```ts
Y
yamila 已提交
37 38 39 40
export default {
  getInfo() {
    let info = app.getInfo()
    console.log(JSON.stringify(info))
Z
zengyawen 已提交
41
  }
Y
yamila 已提交
42
}
43
```
Z
zengyawen 已提交
44 45 46 47 48 49 50

## app.terminate

terminate(): void

退出当前Ability。

51
从API Version 7开始,推荐使用[`@ohos.ability.featureAbility`](js-apis-ability-featureAbility.md)
Z
zengyawen 已提交
52

Z
zengyawen 已提交
53 54 55 56
**系统能力:** SystemCapability.ArkUI.ArkUI.Lite

**示例:**

57
```ts
Y
yamila 已提交
58 59 60 61 62
export default {
  terminate() {
    app.terminate()
  }
}
63
```
Z
zengyawen 已提交
64 65
## app.requestFullWindow

66
requestFullWindow(options?: RequestFullWindowOptions): void
Z
zengyawen 已提交
67 68 69

请求应用以全窗口运行,FA在某些场景下(如半模态FA)会以非全窗口运行,调用该接口会从非全窗口切换为全窗口运行,如果已经以全窗口运行则该接口调用无效。

70
从API Version 7开始,推荐使用[`@ohos.window`](js-apis-window.md)
Z
zengyawen 已提交
71

Z
zengyawen 已提交
72 73 74
**系统能力:** SystemCapability.ArkUI.ArkUI.Full

**参数:**
75

Z
zengyawen 已提交
76 77
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
78
| options | [RequestFullWindowOptions](#requestfullwindowoptions) | 否 | 请求全屏时,设定非全屏到全屏的过渡时间,单位为毫秒,默认时间与非全屏到全屏的距离成正比。 |
Z
zengyawen 已提交
79 80 81

**示例:**

82
```ts
Y
yamila 已提交
83 84 85 86 87
export default {
  requestFullWindow() {
    app.requestFullWindow({
      duration: 200
    })
Z
zengyawen 已提交
88
  }
Y
yamila 已提交
89
}
90
```
91

92
## app.setImageCacheCount<sup>7+</sup>
93 94 95

setImageCacheCount(value: number): void

96
设置内存中缓存解码后图片的数量上限,提升再次加载同源图片的加载速度。如果不设置则默认为0,不进行缓存。缓存采用内置的LRU策略,新图片加载后,如果超过缓存上限,会删除最久未再次加载的缓存。建议根据应用内存需求,设置合理缓存数量,数字过大可能导致内存使用过高。
97 98 99 100

**系统能力:** SystemCapability.ArkUI.ArkUI.Full

**参数:**
101

102 103
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
L
luoying_ace_admin 已提交
104
| value | number | 是 | 内存中解码后图片的缓存数量。 |
105

106 107
**示例:**

108
```ts
Y
yamila 已提交
109 110 111 112 113 114 115 116 117 118 119 120
// app.ets
import app from '@system.app'

export default {
  onCreate() {
    app.setImageCacheCount(100) // 设置解码后图片内存缓存上限为100张
    console.info('Application onCreate')
  },
  onDestroy() {
    console.info('Application onDestroy')
  },
}
121
```
122 123

## app.setImageRawDataCacheSize<sup>7+</sup>
124 125 126

setImageRawDataCacheSize(value: number): void

127
设置内存中缓存解码前图片数据的大小上限,单位为字节,提升再次加载同源图片的加载速度。如果不设置则默认为0,不进行缓存。缓存采用内置的LRU策略,新图片加载后,如果解码前数据超过缓存上限,会删除最久未再次加载的图片数据缓存。建议根据应用内存需求,设置合理缓存上限,过大可能导致应用内存使用过高。
128 129 130 131

**系统能力:** SystemCapability.ArkUI.ArkUI.Full

**参数:**
132

133 134
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
L
luoying_ace_admin 已提交
135
| value | number | 是 | 内存中解码前图片数据的缓存大小,单位为字节。 |
136

137
**示例:**
138

139
```ts
Y
yamila 已提交
140 141 142 143 144 145 146 147 148 149 150 151 152
// app.ets
import app from '@system.app'

export default {
  onCreate() {
    app.setImageRawDataCacheSize(104857600)
    // 设置解码前图片数据内存缓存上限为100MB (100MB=100*1024*1024B=104857600B)
    console.info('Application onCreate')
  },
  onDestroy() {
    console.info('Application onDestroy')
  },
}
153
```
154 155

## app.setImageFileCacheSize<sup>7+</sup>
156 157 158

setImageFileCacheSize(value: number): void

159
设置图片文件缓存的大小上限,单位为字节,提升再次加载同源图片的加载速度,特别是对网络图源、缩略图会有较明显提升。如果不设置则默认为100MB。缓存采用内置的LRU策略,新图片加载后,如果超过文件缓存上限,会按照时间由远到近删除缓存图片文件直到缓存图片大小满足缓存上限。建议根据应用实际需求,设置合理文件缓存上限,数字过大可能导致磁盘空间占用过高。
160 161 162 163

**系统能力:** SystemCapability.ArkUI.ArkUI.Full

**参数:**
164

165 166
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
L
luoying_ace_admin 已提交
167
| value | number | 是 | 图片文件的缓存大小,单位为字节。 |
168 169 170

**示例:**

171
```ts
Y
yamila 已提交
172 173 174 175 176 177 178 179 180 181 182 183 184
// app.ets
import app from '@system.app'

export default {
  onCreate() {
    app.setImageFileCacheSize(209715200)
    // 设置图片文件数据缓存上限为200MB (200MB=200*1024*1024B=209715200B) 
    console.info('Application onCreate')
  },
  onDestroy() {
    console.info('Application onDestroy')
  },
}
185
```
186 187 188 189 190 191 192

## AppResponse

定义AppResponse信息。

**系统能力:**  以下各项对应的系统能力有所不同,详见下表。

L
luoying_ace_admin 已提交
193
| 名称 | 类型 | 必填 | 说明 |
194 195 196 197 198 199
| -------- | -------- | -------- |-------- |
| appID<sup>6+</sup> | string | 是 | 表示应用的包名,用于标识应用的唯一性。 <br> **系统能力:** SystemCapability.ArkUI.ArkUI.Full|
| appName | string | 是 | 表示应用的名称。 <br> **系统能力:** SystemCapability.ArkUI.ArkUI.Lite|
| versionName | string | 是 | 表示应用的版本名称。 <br> **系统能力:** SystemCapability.ArkUI.ArkUI.Lite|
| versionCode | number | 是 | 表示应用的版本号。 <br> **系统能力:** SystemCapability.ArkUI.ArkUI.Lite|

L
luoying_ace_admin 已提交
200 201
## ScreenOnVisible<sup>(deprecated)</sup>

Y
yamila 已提交
202
screenOnVisible(options?: ScreenOnVisibleOptions):&nbsp;void
L
luoying_ace_admin 已提交
203 204 205

定义屏幕唤醒时是否保持应用可见。

206
该接口从API Version 8 开始废弃。
L
luoying_ace_admin 已提交
207 208 209 210 211 212 213

**系统能力:**  以下各项对应的系统能力均为SystemCapability.ArkUI.ArkUI.Full

| 名称 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- |-------- |
| options | ScreenOnVisibleOptions | 否 |  当启动保活时,锁屏时将阻止系统返回桌面显示,以保持屏幕唤醒时应用可见。  |

214 215 216 217 218 219
## ScreenOnVisibleOptions

定义屏幕上可见接口的选项。

**系统能力:**  以下各项对应的系统能力均为SystemCapability.ArkUI.ArkUI.Full

L
luoying_ace_admin 已提交
220
| 名称 | 类型 | 必填 | 说明 |
221 222 223 224 225 226
| -------- | -------- | -------- | -------- |
| visible | boolean | 否 | 是否启动保活,默认值false。 |
| success | () => void | 否 | 接口调用成功的回调函数。 |
| fail | (data: string, code: number) => void | 否 | 接口调用失败的回调函数。 |
| complete | () => void | 否 | 接口调用结束的回调函数。 |

227
## RequestFullWindowOptions
228 229 230 231 232

定义RequestFullWindow接口的选项。

**系统能力:**  以下各项对应的系统能力均为SystemCapability.ArkUI.ArkUI.Full

L
luoying_ace_admin 已提交
233
| 名称 | 类型 | 必填 | 说明 |
234
| -------- | -------- | -------- | -------- |
Y
yamila 已提交
235
| duration | number | 是 | 定义动画选项的持续时间,单位为毫秒。 |
236