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