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): 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