1# ProcessData (系统接口)
2
3进程数据的对象定义。使用接口[registerApplicationStateObserver](js-apis-application-appManager-sys.md#appmanagerregisterapplicationstateobserver)注册生命周期变化监听后,当应用或组件的生命周期变化时,系统通过[ApplicationStateObserver](js-apis-inner-application-applicationStateObserver-sys.md)的onProcessCreated等方法回调给开发者。
4
5> **说明:**
6> 
7> 本模块首批接口从API version 8开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。
8> 本模块接口为系统接口。
9
10## 导入模块
11
12```ts
13import { appManager } from '@kit.AbilityKit';
14```
15
16## 属性
17
18**系统能力**:SystemCapability.Ability.AbilityRuntime.Core
19
20**系统API**:该接口为系统接口,三方应用不支持调用。
21
22| 名称                     | 类型     | 只读 | 必填 | 说明                       |
23| ----------------------- | ---------| ---- | ---- | ------------------------- |
24| pid         | number   | 否   | 是   | 进程ID。                    |
25| bundleName  | string   | 否   | 是  | 应用包名。                  |
26| uid         | number   | 否   | 是   | 应用的uid。                  |
27| isContinuousTask<sup>9+</sup>         | boolean   | 否   | 是   | 是否为长时任务,true表示是,false表示不是。                 |
28| isKeepAlive<sup>9+</sup>         | boolean   | 否   | 是   | 是否为常驻进程,true表示是,false表示不是                   |
29| state<sup>9+</sup>       | number   | 否   | 是   | 应用的状态,取值及对应的状态为:<br>0 - 刚创建,<br>1 - 准备就绪,<br>2 - 前台,<br>4 - 后台,<br>5 - 已终止。     |
30
31**示例:**
32```ts
33import { appManager } from '@kit.AbilityKit';
34
35let observerCode = appManager.on('applicationState', {
36  onForegroundApplicationChanged(appStateData) {
37    console.log(`onForegroundApplicationChanged appStateData: ${JSON.stringify(appStateData)}`);
38  },
39  onAbilityStateChanged(abilityStateData) {
40    console.log(`onAbilityStateChanged onAbilityStateChanged: ${JSON.stringify(abilityStateData)}`);
41  },
42  onProcessCreated(processData) {
43    console.log(`onProcessCreated onProcessCreated: ${JSON.stringify(processData)}`);
44  },
45  onProcessDied(processData) {
46    console.log(`onProcessDied onProcessDied: ${JSON.stringify(processData)}`);
47  },
48  onProcessStateChanged(processData) {
49    console.log(`onProcessStateChanged processData.pid : ${JSON.stringify(processData.pid)}`);
50    console.log(`onProcessStateChanged processData.bundleName : ${JSON.stringify(processData.bundleName)}`);
51    console.log(`onProcessStateChanged processData.uid : ${JSON.stringify(processData.uid)}`);
52    console.log(`onProcessStateChanged processData.isContinuousTask : ${JSON.stringify(processData.isContinuousTask)}`);
53    console.log(`onProcessStateChanged processData.isKeepAlive : ${JSON.stringify(processData.isKeepAlive)}`);
54  },
55  onAppStarted(appStateData) {
56    console.log(`onAppStarted appStateData: ${JSON.stringify(appStateData)}`);
57  },
58  onAppStopped(appStateData) {
59    console.log(`onAppStopped appStateData: ${JSON.stringify(appStateData)}`);
60  }
61});
62```