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