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