js-apis-system-app.md 6.8 KB
Newer Older
Z
zengyawen 已提交
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
# 应用上下文

> ![icon-note.gif](public_sys-resources/icon-note.gif) **说明:**
> - 从API Version 7 开始,该接口不再维护,推荐使用新接口。具体新接口在接口描述中说明。
> 
> - 本模块首批接口从API version 3开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。


## 导入模块


```
import app from '@system.app';
```


## app.getInfo

19
getInfo(): AppResponse
Z
zengyawen 已提交
20 21 22 23 24 25 26

获取当前应用配置文件中声明的信息。

**系统能力:** SystemCapability.ArkUI.ArkUI.Lite

**返回值:**

27 28 29
| 参数类型 | 说明 |
| -------- | -------- |
| [AppResponse](#appresponse) | 定义AppResponse信息。 |
Z
zengyawen 已提交
30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59

**示例:**

  ```
  export default {    
    getInfo(){        
      var info = app.getInfo();        
        console.log(JSON.stringify(info));    
    } 
  }
  ```

## app.terminate

terminate(): void

退出当前Ability。

**系统能力:** SystemCapability.ArkUI.ArkUI.Lite

**示例:**

  ```
  export default {    
    terminate(){        
      app.terminate();    
    }}
  ```
## app.requestFullWindow

60
requestFullWindow(options?: RequestFullWindowOptions): void
Z
zengyawen 已提交
61 62 63 64 65 66 67 68 69 70

请求应用以全窗口运行,FA在某些场景下(如半模态FA)会以非全窗口运行,调用该接口会从非全窗口切换为全窗口运行,如果已经以全窗口运行则该接口调用无效。

此接口为系统接口,三方应用不支持调用。

**系统能力:** SystemCapability.ArkUI.ArkUI.Full

**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
71
| options | [RequestFullWindowOptions](#requestfullwindowoptions) | 否 | 请求全屏时,设定非全屏到全屏的过渡时间,单位为毫秒,默认时间与非全屏到全屏的距离成正比。 |
Z
zengyawen 已提交
72 73 74 75 76 77 78 79 80 81

**示例:**

  ```
  export default {    
    requestFullWindow(){        
      app.requestFullWindow({            
        duration: 200});    
    }
  }
82 83
 ```

84
## app.setImageCacheCount<sup>7+</sup>
85 86 87

setImageCacheCount(value: number): void

88
设置内存中缓存解码后图片的数量上限,提升再次加载同源图片的加载速度。如果不设置则默认为0,不进行缓存。缓存采用内置的LRU策略,新图片加载后,如果超过缓存上限,会删除最久未再次加载的缓存。建议根据应用内存需求,设置合理缓存数量,数字过大可能导致内存使用过高。
89 90 91 92 93 94

**系统能力:** SystemCapability.ArkUI.ArkUI.Full

**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
95
| value | number | 否 | 内存中解码后图片的缓存数量。 |
96

97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114
**示例:**

  ```
  // app.ets
  import app from '@system.app';
  
  export default {
      onCreate() { 
          app.setImageCacheCount(100)    // 设置解码后图片内存缓存上限为100张
          console.info('Application onCreate')
      },
      onDestroy() {
          console.info('Application onDestroy')
      },
  }
  ```

## app.setImageRawDataCacheSize<sup>7+</sup>
115 116 117

setImageRawDataCacheSize(value: number): void

118
设置内存中缓存解码前图片数据的大小上限,单位为字节,提升再次加载同源图片的加载速度。如果不设置则默认为0,不进行缓存。缓存采用内置的LRU策略,新图片加载后,如果解码前数据超过缓存上限,会删除最久未再次加载的图片数据缓存。建议根据应用内存需求,设置合理缓存上限,过大可能导致应用内存使用过高。
119 120 121 122 123 124

**系统能力:** SystemCapability.ArkUI.ArkUI.Full

**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
125
| value | number | 否 | 内存中解码前图片数据的缓存大小,单位为字节。 |
126

127
**示例:**
128

129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144
  ```
  // app.ets
  import app from '@system.app';
  
  export default {
      onCreate() {
          app.setImageRawDataCacheSize(104,857,600) // 设置解码前图片数据内存缓存上限为100MB
          console.info('Application onCreate')
      },
      onDestroy() {
          console.info('Application onDestroy')
      },
  }
  ```

## app.setImageFileCacheSize<sup>7+</sup>
145 146 147

setImageFileCacheSize(value: number): void

148
设置图片文件缓存的大小上限,单位为字节,提升再次加载同源图片的加载速度,特别是对网络图源、缩略图会有较明显提升。如果不设置则默认为100MB。缓存采用内置的LRU策略,新图片加载后,如果超过文件缓存上限,会按照时间由远到近删除缓存图片文件直到缓存图片大小满足缓存上限。建议根据应用实际需求,设置合理文件缓存上限,数字过大可能导致磁盘空间占用过高。
149 150 151 152 153 154

**系统能力:** SystemCapability.ArkUI.ArkUI.Full

**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172
| value | number | 否 | 图片文件的缓存大小,单位为字节。 |

**示例:**

  ```
  // app.ets
  import app from '@system.app';
  
  export default {  
      onCreate() {    
          app.setImageFileCacheSize(209,715,200) // 设置图片文件数据缓存上限为200MB   
          console.info('Application onCreate')
      },  
      onDestroy() {
          console.info('Application onDestroy')
      },
  }
  ```
173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199

## AppResponse

定义AppResponse信息。

**系统能力:**  以下各项对应的系统能力有所不同,详见下表。

| 名称 | 参数类型 | 必填 | 说明 |
| -------- | -------- | -------- |-------- |
| appID<sup>6+</sup> | string | 是 | 表示应用的包名,用于标识应用的唯一性。 <br> **系统能力:** SystemCapability.ArkUI.ArkUI.Full|
| appName | string | 是 | 表示应用的名称。 <br> **系统能力:** SystemCapability.ArkUI.ArkUI.Lite|
| versionName | string | 是 | 表示应用的版本名称。 <br> **系统能力:** SystemCapability.ArkUI.ArkUI.Lite|
| versionCode | number | 是 | 表示应用的版本号。 <br> **系统能力:** SystemCapability.ArkUI.ArkUI.Lite|

## ScreenOnVisibleOptions

定义屏幕上可见接口的选项。

**系统能力:**  以下各项对应的系统能力均为SystemCapability.ArkUI.ArkUI.Full

| 名称 | 参数类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| visible | boolean | 否 | 是否启动保活,默认值false。 |
| success | () => void | 否 | 接口调用成功的回调函数。 |
| fail | (data: string, code: number) => void | 否 | 接口调用失败的回调函数。 |
| complete | () => void | 否 | 接口调用结束的回调函数。 |

200
## RequestFullWindowOptions
201 202 203 204 205 206 207 208 209

定义RequestFullWindow接口的选项。

**系统能力:**  以下各项对应的系统能力均为SystemCapability.ArkUI.ArkUI.Full

| 名称 | 参数类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| duration | number | 是 | 定义动画选项的数量。 |