| Name | Date | Size | #Lines | LOC | ||
|---|---|---|---|---|---|---|
| .. | - | - | ||||
| AppScope/ | 06-May-2025 | - | 35 | 32 | ||
| entry/ | 06-May-2025 | - | 446 | 402 | ||
| hvigor/ | 06-May-2025 | - | 38 | 36 | ||
| screenshots/ | 06-May-2025 | - | ||||
| .gitignore | D | 06-May-2025 | 133 | 12 | 12 | |
| README_zh.md | D | 06-May-2025 | 2.5 KiB | 67 | 42 | |
| build-profile.json5 | D | 06-May-2025 | 1.2 KiB | 52 | 51 | |
| hvigorfile.ts | D | 06-May-2025 | 843 | 22 | 5 | |
| oh-package.json5 | D | 06-May-2025 | 809 | 26 | 24 |
README_zh.md
1# 应用恢复开发指导 2 3### 介绍 4 5本示例主要展示了应用恢复相关的功能,应用在运行中不可避免会产生一些非预期的行为,如运行时抛出未处理的异常和错误,违反框架的调用/运行约束等。 6 7系统默认对异常的处理方式为进程退出,如果应用使用过程中产生了用户数据,直接退出可能会导致用户工作中断,数据丢失。 如果应用在[AbilityStage](https://docs.openharmony.cn/pages/v5.0/zh-cn/application-dev/reference/apis-ability-kit/js-apis-app-ability-abilityStage.md)中使能[应用恢复功能](https://docs.openharmony.cn/pages/v5.0/zh-cn/application-dev/dfx/apprecovery-guidelines.md#应用恢复接口功能介绍),并对临时数据进行保存,应用非预期退出后的下一次启动会恢复先前的状态和数据,给用户更连贯的使用体验。这里状态包括应用的页面栈以及onSaveState接口中保存的数据。 8 9### 效果预览 10 11| 主页 | 12| :----------------------------------------------------------: | 13| <img src="./screenshots/Screenshot_20241217182358071.jpeg" alt="z" style="zoom:25%;" /> | 14 15使用说明 16 171.在主界面,点击按钮引发崩溃,重启应用;切换到"Log"窗口,日志过滤选择"No filters",搜索内容设置分别为"[Demo]"和"This ability need to recovery"。此时窗口若分别出现下面两句,则验证成功。 18 19``` 20[Demo] EntryAbility onSaveState 21This ability need to recovery 22``` 23 24 25 26### 工程目录 27 28``` 29entry/src/main/ets/ 30└─entryability 31| └─---EntryAbility.ets //添加回调函数 32└─pages 33 └─---Index.ets //首页 34``` 35 36### 具体实现 37 38- 在EntryAbility.ets中添加应用恢复回调函数,以及启动时恢复判断; 39- 在Index.ets中添加一个按钮并在其点击事件中引发崩溃事件,进而调用应用恢复回调函数。 40 41### 相关权限 42 43不涉及。 44 45### 依赖 46 47不涉及。 48 49### 约束与限制 50 511. 本示例仅支持标准系统上运行,支持设备:RK3568; 522. 本示例已适配API14版本SDK,版本号:5.0.2.58,镜像版本号:OpenHarmony5.0.2.58; 533. 本示例需要使用DevEco Studio (5.0.3.910)及以上版本才可编译运行。 54 55### 下载 56 57如需单独下载本工程,执行如下命令: 58 59``` 60git init 61git config core.sparsecheckout true 62echo code/DocsSample/PerformanceAnalysisKit/ErrorManage/ApplyRecovery/ > .git/info/sparse-checkout 63git remote add origin https://gitee.com/openharmony/applications_app_samples.git 64git pull origin master 65``` 66 67