• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# @system.app (应用上下文)
2
3> **说明:**
4>
5> 本模块首批接口从API version 3开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。
6
7
8## 导入模块
9
10
11```ts
12import app, { AppResponse } from '@system.app'
13```
14
15## App
16
17### getInfo
18
19static getInfo(): AppResponse
20
21获取当前应用配置文件中声明的信息。
22
23从API Version9开始,推荐使用[bundleManager.getApplicationInfo](js-apis-bundleManager.md#bundlemanagergetapplicationinfo)。
24
25**系统能力:** SystemCapability.ArkUI.ArkUI.Lite
26
27**返回值:**
28
29| 参数类型 | 说明 |
30| -------- | -------- |
31| [AppResponse](#appresponse) | 定义AppResponse信息。 |
32
33**示例:**
34
35```ts
36import app, { AppResponse } from '@system.app'
37export default class Info {
38  getInfo() {
39    let info:AppResponse = app.getInfo()
40    console.log(JSON.stringify(info))
41  }
42}
43```
44
45### terminate
46
47static terminate(): void
48
49退出当前Ability。
50
51从API Version 7开始,推荐使用[`@ohos.ability.featureAbility`](js-apis-ability-featureAbility.md)。
52
53**系统能力:** SystemCapability.ArkUI.ArkUI.Lite
54
55**示例:**
56
57```ts
58import app, { AppResponse } from '@system.app'
59export default class TerM {
60  terminate() {
61    app.terminate()
62  }
63}
64```
65### setImageCacheCount<sup>7+</sup>
66
67static setImageCacheCount(value: number): void
68
69设置内存中缓存解码后图片的数量上限,提升再次加载同源图片的加载速度。如果不设置则默认为0,不进行缓存。缓存采用内置的LRU策略,新图片加载后,如果超过缓存上限,会删除最久未再次加载的缓存。建议根据应用内存需求,设置合理缓存数量,数字过大可能导致内存使用过高。
70
71**系统能力:** SystemCapability.ArkUI.ArkUI.Full
72
73**参数:**
74
75| 参数名 | 类型 | 必填 | 说明 |
76| -------- | -------- | -------- | -------- |
77| value | number | 是 | 内存中解码后图片的缓存数量。 |
78
79**示例:**
80
81```ts
82// app.ets
83import app, { AppResponse } from '@system.app'
84
85export default class OnC {
86  onCreate() {
87    app.setImageCacheCount(100) // 设置解码后图片内存缓存上限为100张
88    console.info('Application onCreate')
89  },
90  onDestroy() {
91    console.info('Application onDestroy')
92  },
93}
94```
95
96### setImageRawDataCacheSize<sup>7+</sup>
97
98static setImageRawDataCacheSize(value: number): void
99
100设置内存中缓存解码前图片数据的大小上限,单位为字节,提升再次加载同源图片的加载速度。如果不设置则默认为0,不进行缓存。缓存采用内置的LRU策略,新图片加载后,如果解码前数据超过缓存上限,会删除最久未再次加载的图片数据缓存。建议根据应用内存需求,设置合理缓存上限,过大可能导致应用内存使用过高。
101
102**系统能力:** SystemCapability.ArkUI.ArkUI.Full
103
104**参数:**
105
106| 参数名 | 类型 | 必填 | 说明 |
107| -------- | -------- | -------- | -------- |
108| value | number | 是 | 内存中解码前图片数据的缓存大小,单位为字节。 |
109
110**示例:**
111
112```ts
113// app.ets
114import app, { AppResponse } from '@system.app'
115
116export default class OnC {
117  onCreate() {
118    app.setImageRawDataCacheSize(104857600)
119    // 设置解码前图片数据内存缓存上限为100MB (100MB=100*1024*1024B=104857600B)
120    console.info('Application onCreate')
121  },
122  onDestroy() {
123    console.info('Application onDestroy')
124  },
125}
126```
127
128### setImageFileCacheSize<sup>7+</sup>
129
130static setImageFileCacheSize(value: number): void
131
132设置图片文件缓存的大小上限,单位为字节,提升再次加载同源图片的加载速度,特别是对网络图源、缩略图会有较明显提升。如果不设置则默认为100MB。缓存采用内置的LRU策略,新图片加载后,如果超过文件缓存上限,会按照时间由远到近删除缓存图片文件直到缓存图片大小满足缓存上限。建议根据应用实际需求,设置合理文件缓存上限,数字过大可能导致磁盘空间占用过高。
133
134**系统能力:** SystemCapability.ArkUI.ArkUI.Full
135
136**参数:**
137
138| 参数名 | 类型 | 必填 | 说明 |
139| -------- | -------- | -------- | -------- |
140| value | number | 是 | 图片文件的缓存大小,单位为字节。 |
141
142**示例:**
143
144```ts
145// app.ets
146import app, { AppResponse } from '@system.app'
147
148export default class OnC {
149  onCreate() {
150    app.setImageFileCacheSize(209715200)
151    // 设置图片文件数据缓存上限为200MB (200MB=200*1024*1024B=209715200B)
152    console.info('Application onCreate')
153  },
154  onDestroy() {
155    console.info('Application onDestroy')
156  },
157}
158```
159
160### ScreenOnVisible<sup>(deprecated)</sup>
161
162static screenOnVisible(options?: ScreenOnVisibleOptions):&nbsp;void
163
164定义屏幕唤醒时是否保持应用可见。
165
166该接口从API Version 8 开始废弃。
167
168**系统能力:**  以下各项对应的系统能力均为SystemCapability.ArkUI.ArkUI.Full
169
170| 名称    | 类型                                              | 必填 | 说明                                                         |
171| ------- | ------------------------------------------------- | ---- | ------------------------------------------------------------ |
172| options | [ScreenOnVisibleOptions](#screenonvisibleoptions) | 否   | 当启动保活时,锁屏时将阻止系统返回桌面显示,以保持屏幕唤醒时应用可见。 |
173
174### requestFullWindow<sup>(deprecated)</sup>
175
176static requestFullWindow(options?: RequestFullWindowOptions): void
177
178请求应用以全窗口运行,FA在某些场景下(如半模态FA)会以非全窗口运行,调用该接口会从非全窗口切换为全窗口运行,如果已经以全窗口运行则该接口调用无效。
179
180从API Version 7开始,推荐使用[`@ohos.window`](js-apis-window.md)。
181
182**系统能力:** SystemCapability.ArkUI.ArkUI.Full
183
184**参数:**
185
186| 参数名  | 类型                                                  | 必填 | 说明                                                         |
187| ------- | ----------------------------------------------------- | ---- | ------------------------------------------------------------ |
188| options | [RequestFullWindowOptions](#requestfullwindowoptions) | 否   | 请求全屏时,设定非全屏到全屏的过渡时间,单位为毫秒,默认时间与非全屏到全屏的距离成正比。 |
189
190**示例:**
191
192```ts
193import app, { AppResponse } from '@system.app'
194export default class Req {
195  requestFullWindow() {
196    app.requestFullWindow({
197      duration: 200
198    })
199  }
200}
201```
202
203## AppResponse
204
205定义AppResponse信息。
206
207**系统能力:**  以下各项对应的系统能力有所不同,详见下表。
208
209| 名称 | 类型 | 必填 | 说明 |
210| -------- | -------- | -------- |-------- |
211| appID<sup>6+</sup> | string | 是 | 表示应用的包名,用于标识应用的唯一性。 <br> **系统能力:** SystemCapability.ArkUI.ArkUI.Full|
212| appName | string | 是 | 表示应用的名称。 <br> **系统能力:** SystemCapability.ArkUI.ArkUI.Lite|
213| versionName | string | 是 | 表示应用的版本名称。 <br> **系统能力:** SystemCapability.ArkUI.ArkUI.Lite|
214| versionCode | number | 是 | 表示应用的版本号。 <br> **系统能力:** SystemCapability.ArkUI.ArkUI.Lite|
215
216## ScreenOnVisibleOptions
217
218定义屏幕上可见接口的选项。
219
220**系统能力:**  以下各项对应的系统能力均为SystemCapability.ArkUI.ArkUI.Full
221
222| 名称 | 类型 | 必填 | 说明 |
223| -------- | -------- | -------- | -------- |
224| visible | boolean | 否 | 是否启动保活,默认值false。 |
225| success | () => void | 否 | 接口调用成功的回调函数。 |
226| fail | (data: string, code: number) => void | 否 | 接口调用失败的回调函数。 |
227| complete | () => void | 否 | 接口调用结束的回调函数。 |
228
229## RequestFullWindowOptions
230
231定义RequestFullWindow接口的选项。
232
233**系统能力:**  以下各项对应的系统能力均为SystemCapability.ArkUI.ArkUI.Full
234
235| 名称 | 类型 | 必填 | 说明 |
236| -------- | -------- | -------- | -------- |
237| duration | number | 是 | 定义动画选项的持续时间,单位为毫秒。 |
238
239