美文网首页
HarmonyOS应用模型概况(Stage模型和FA模型)

HarmonyOS应用模型概况(Stage模型和FA模型)

作者: 东方三篇 | 来源:发表于2024-05-07 15:00 被阅读0次

    HarmonyOS应用模型概况(Stage模型和FA模型)

    在HarmonyOS的发展进程中。 FA模型(Feature Ability)和 Stage模型。是两种重要的应用模型。那他们各自有什么特点又有什么区别,今天我们来说一说。

    官方文档:应用模型解读

    1.FA模型:早期使用

    • FA模型是HarmonyOS早期版本开始支持的应用模型。它通过PageAbility、ServiceAbility和DataAbility三种组件,为开发者提供了构建应用的基础。

    • FA模型的特点是每个组件运行在自己的进程中,拥有独立的JS VM引擎实例,这使得组件之间相互隔离,但也带来了一定的内存占用。

    • 随着HarmonyOS的演进,特别是1+8+N的战略被提出,多设备和多窗口形态成为主流,此时FA模型在处理复杂应用时存在一定的局限性, FA模型逐渐不再被主推。

    2. Stage模型:未来主推

    • 为了更好地适应复杂应用的开发需求,HarmonyOS 3.1 Developer Preview版本引入了Stage模型。Stage模型通过AbilityStage、WindowStage等类作为应用组件和Window窗口的“舞台”,因此称这种应用模型为Stage模型。

    • Stage模型的设计出发点是为了复杂应用而设计,它通过以下几个方面实现了对复杂应用的优化:

      • 共享ArkTS引擎实例:在Stage模型中,多个应用组件共享同一个ArkTS引擎实例,这使得组件之间可以方便地共享对象和状态,同时减少了内存占用。

      • 面向对象的开发方式:Stage模型采用面向对象的开发方式,提高了代码的可读性、易维护性和可扩展性。

      • 支持多设备和多窗口形态:应用组件管理和窗口管理在架构层面解耦,使得应用组件可以在不同设备上使用同一套生命周期,便于系统扩展窗口形态。

      • 平衡应用能力和系统管控成本:Stage模型重新定义了应用能力的边界,提供了特定场景的应用组件,规范化了后台进程管理,防止了恶意应用行为。

    3. 两种模型的区别

    Stage模型与FA模型最大的区别在于:Stage模型中,多个应用组件共享同一个ArkTS引擎实例;而FA模型中,每个应用组件独享一个ArkTS引擎实例。因此在Stage模型中,应用组件之间可以方便的共享对象和状态,同时减少复杂应用运行对内存的占用。Stage模型作为主推的应用模型,开发者通过它能够更加便利地开发出分布式场景下的复杂应用。

    跟详细的内容参考:应用模型解读

    相关文章

      网友评论

          本文标题:HarmonyOS应用模型概况(Stage模型和FA模型)

          本文链接:https://www.haomeiwen.com/subject/usarfjtx.html