> 文档中心 > 《OpenHarmony开源鸿蒙学习入门》-- API9的Stage模型说明

《OpenHarmony开源鸿蒙学习入门》-- API9的Stage模型说明


《OpenHarmony开源鸿蒙学习入门》-- API9的Stage模型说明

一、概述
OpenHarmony从API 9开始,Ability框架引入了Stage模型作为第二种应用形态。这是作为FA模型的一种补充。

​ Stage模型的设计思想如下图所示:
《OpenHarmony开源鸿蒙学习入门》-- API9的Stage模型说明
Stage模型的设计基于如下三个出发点:
1.应用的能力与系统总体功能和功耗的平衡

2.原生支持组件级的迁移和协同
Stage模型通过Ability与UI分离及UI展示与服务能力合一等模型特性。

3.支持多设备和多窗口形态的特点

下图展示了Stage模型中的基本概念:
《OpenHarmony开源鸿蒙学习入门》-- API9的Stage模型说明

ExtensionAbility机制
​ 不同于用于页面展示的Ability,ExtensionAbility提供的是一种受限的服务运行环境。ExtensionAbility具有如下特点:

独立于主进程的单独进程运行,与主进程无IPC,共享一个存储沙箱;

独立的Context提供基于业务场景的api能力;

由系统触发创建,应用不能直接创建;

ExtensionAbility和进程的生命周期受系统管理。
《OpenHarmony开源鸿蒙学习入门》-- API9的Stage模型说明

Hap应用进程模型介绍
​ OpenHarmony系统中的应用均满足单进程模型。所谓的单进程模型是指不允许应用配置多进程(并非只有一个进程),应用中所有的进程都是由系统创建和管理的。每个应用至多并存三类进程:

1.主进程:运行所有的Ability组件、页面和业务逻辑;

  1. Extension进程:运行应用中的ExtensionAbility派生类,该进程由系统中的特定场景的服务管理其生命周期;

3.Render进程:专门为webview创建的进程,用于加载webview的渲染库。

下图展示了应用的进程模型:
《OpenHarmony开源鸿蒙学习入门》-- API9的Stage模型说明