未验证 提交 81cdb96b 编写于 作者: O openharmony_ci 提交者: Gitee

!14202 挑单1018 appRecovery接口优化Changelog

Merge pull request !14202 from zhancaijin/monthly_20221018
...@@ -29,7 +29,7 @@ ...@@ -29,7 +29,7 @@
**restartApp:** 调用后框架会杀死当前应用进程,并重新拉起处于前台的Ability,其中启动原因为APP_RECOVERY。 **restartApp:** 调用后框架会杀死当前应用进程,并重新拉起处于前台的Ability,其中启动原因为APP_RECOVERY。
### 框架故障管理流程示意 ### 框架故障管理流程示意
故障管理是应用提升用户体验的重要手段。应用程序框架为开发者提供了故障监听、故障恢复、以及故障查询三种方式来管理应用的故障。 故障管理是应用提升用户体验的重要手段。应用程序框架为开发者提供了故障监听、故障恢复、以及故障查询三种方式来管理应用的故障。
...@@ -133,7 +133,7 @@ callback触发appRecovery.saveAppState()调用后,会触发MainAbility的onSav ...@@ -133,7 +133,7 @@ callback触发appRecovery.saveAppState()调用后,会触发MainAbility的onSav
- 数据恢复 - 数据恢复
callback触发后appRecovery.restartApp()调用后,应用会重启,重启后会走到MainAbility的onSaveState(state, wantParams)函数,保存的数据会在want参数的parameters里。 callback触发后appRecovery.restartApp()调用后,应用会重启,重启后会走到MainAbility的onCreate(want, launchParam)函数,保存的数据会在want参数的parameters里。
```ts ```ts
storage: LocalStorage storage: LocalStorage
......
...@@ -18,13 +18,12 @@ import appRecovery from '@ohos.app.ability.appRecovery'; ...@@ -18,13 +18,12 @@ import appRecovery from '@ohos.app.ability.appRecovery';
**系统能力**:以下各项对应的系统能力均为SystemCapability.Ability.AbilityRuntime.Core **系统能力**:以下各项对应的系统能力均为SystemCapability.Ability.AbilityRuntime.Core
| 名称 | 值 | 说明 | | 名称 | 值 | 说明 |
| ----------------------------- | ---- | ------------------------------------------------------------ | | ---------- | ---- | ---------- |
| ALWAYS_RESTART | 0 | 总是重启应用。 | | ALWAYS_RESTART | 0 | 总是重启应用。 |
| CPP_CRASH_NO_RESTART | 0x0001 | 发生CPP_CRASH时不重启应用。 | | RESTART_WHEN_JS_CRASH | 0x0001 | 发生JS_CRASH时重启应用。 |
| JS_CRASH_NO_RESTART | 0x0002 | 发生JS_CRASH时不重启应用。 | | RESTART_WHEN_APP_FREEZE | 0x0002 | 发生APP_FREEZE时重启应用。 |
| APP_FREEZE_NO_RESTART | 0x0004 | 发生APP_FREEZE时不重启应用。 | | NO_RESTART | 0xFFFF | 总是不重启应用。 |
| NO_RESTART | 0xFFFF | 总是不重启应用。 |
## appRecovery.SaveOccasionFlag ## appRecovery.SaveOccasionFlag
...@@ -69,9 +68,8 @@ enableAppRecovery(restart?: [RestartFlag](#apprecoveryrestartflag), saveOccasion ...@@ -69,9 +68,8 @@ enableAppRecovery(restart?: [RestartFlag](#apprecoveryrestartflag), saveOccasion
```ts ```ts
import appRecovery from '@ohos.app.ability.appRecovery'; import appRecovery from '@ohos.app.ability.appRecovery';
import AbilityStage from '@ohos.app.ability.AbilityStage'; import AbilityStage from '@ohos.app.ability.AbilityStage';
import UIAbility from '@ohos.app.ability.UIAbility';
export default class MyAbility extends UIAbility { export default class MyAbilityStage extends AbilityStage {
onCreate() { onCreate() {
appRecovery.enableAppRecovery( appRecovery.enableAppRecovery(
appRecovery.RestartFlag::ALWAYS_RESTART, appRecovery.RestartFlag::ALWAYS_RESTART,
......
# 元能力子系统ChangeLog
## cl.ability.1 appRecovery接口中RestartFlag属性名称变更,删除了未支持的属性
appRecovery接口中RestartFlag枚举命名从特定故障发生后**不重启**改成了特定故障发生后**重启**
删除了CPP_CRASH_NO_RESTART。
**变更影响**
3.2.10.6版本之前使用CPP_CRASH_NO_RESTART/JS_CRASH_NO_RESTART/APP_FREEZE_NO_RESTART类型开发的应用,在3.2.10.6版本之后行为会发生变化。
**关键接口/组件变更**
**RestartFlag** <sup>9+</sup>
变更前:
| 名称 | 值 | 说明 |
| ----------------------------- | ---- | ------------------------------------------------------------ |
| ALWAYS_RESTART | 0 | 总是重启应用。 |
| CPP_CRASH_NO_RESTART | 0x0001 | 发生CPP_CRASH时**不重启**应用。 |
| JS_CRASH_NO_RESTART | 0x0002 | 发生JS_CRASH时**不重启**应用。 |
| APP_FREEZE_NO_RESTART | 0x0004 | 发生APP_FREEZE时**不重启**应用。 |
| NO_RESTART | 0xFFFF | 总是不重启应用。 |
变更后:
| 名称 | 值 | 说明 |
| ---------- | ---- | ---------- |
| ALWAYS_RESTART | 0 | 总是重启应用。 |
| CPP_CRASH_NO_RESTART | NA | **删除**,不支持该场景的重启。 |
| RESTART_WHEN_JS_CRASH | 0x0001 | 发生JS_CRASH时**重启**应用。 |
| RESTART_WHEN_APP_FREEZE | 0x0002 | 发生APP_FREEZE时**重启**应用。 |
| NO_RESTART | 0xFFFF | 总是不重启应用。 |
**适配指导**
按新的语义进行适配。
\ No newline at end of file
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册