鸿蒙开发-运行机制

 系列文章目录

鸿蒙开发-序言icon-default.png?t=N7T8https://blog.csdn.net/u013488266/article/details/135145031?spm=1001.2014.3001.5502

鸿蒙开发-工具icon-default.png?t=N7T8https://blog.csdn.net/u013488266/article/details/135157878?spm=1001.2014.3001.5502

鸿蒙开发-初体验icon-default.png?t=N7T8https://blog.csdn.net/u013488266/article/details/135203269

文章目录

前言

一、应用模型

1.应用模型构成

2.应用模型分类

二、Stage模型

1.基本概念

总结


前言

本文记录鸿蒙应用的运行机制介绍,文中会设计很多概念性的知识,对接受者不是那么友好。但是作为一个专业的程序员,学习一门语言或者一种IT技能,对底层运行原理的理解是必不可少的。

举个简单的例子,学习过JAVA语言的同学都能用java语言开发很多应用,但是应用是如何运行的?运行变慢了,如何定位解决?这个时候如果你理解java运行的机制,理解java内存模型,理解java运行的虚拟机等等技术知识点,你就可以做到你的应用运行的更稳定、效率更高。

作为一个初学者,对一些的原理性的知识理解并不是一蹴而就的,就像软件迭代开发一样,随着学习的深入,对原理理解的精确性会不断回归。本文,我试图用简单易于理解的方式来阐述鸿蒙应用的运行机制,思路形成于文的时间会比较长。

一、应用模型

HarmonyOS为App提供的必备组件和运行机制。

1.应用模型构成

鸿蒙开发-运行机制_第1张图片

2.应用模型分类

鸿蒙开发-运行机制_第2张图片

FA模型已不再主推,后面重点分析Stage模型。

二、Stage模型

1.基本概念

鸿蒙开发-运行机制_第3张图片

  • UIAbility组件和ExtensionAbility组件

    Stage模型提供了这两类组件,这两类组件支持面向对象的开发方式

    • UIAbility组件:包含UI界面用于和用户交互。UIAbility的生命周期只包含创建/销毁/前台/后台等状态。

    • ExtensionAbility组件:面向特定场景的应用组件。

  • WindowStage

    该类提供了应用进程内窗口管理器的作用。UIAbility类实例与WindowStage类实例一一绑定。UIAbility通过WindowStage持有了一个窗口,该窗口为ArkUI提供了绘制区域。这里体现出Stage模型,应用组件与管理窗口的架构解耦

  • Context

    Context及其派生类向开发者提供在运行期可以调用的各种能力。UIAbility组件和各种ExtensionAbility派生类都有各自不同的Context类,他们都继承自基类Context,但是各自又根据所属组件,提供不同的能力。

  • AbilityStage

    每个Entry类型或者Feature类型的HAP在运行期都有一个AbilityStage类实例,当HAP中的代码首次被加载到进程中的时候,系统会先创建AbilityStage实例。每个在该HAP中定义的UIAbility类,在实例化后都会与该实例产生关联。开发者可以使用AbilityStage获取该HAP中UIAbility实例的运行时信息。


总结

本文记录了鸿蒙应用的运行原理,后面会重点分析Stage模型。

你可能感兴趣的:(鸿蒙开发,harmonyos,华为)