1# 应用上下文 2 3>  **说明:** 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