• 作者:老汪软件技巧
  • 发表时间:2024-10-04 11:01
  • 浏览量:

以上为官方给出的运行期和编译期的关系图,从图中我们可以很清晰的看到各个组件对应的关系以及一个应用程序(Application)在创建之后所经历的一个过程,总结如下图所示:

一、流程简介

Application启动

AbilityStage创建

UIAbility创建

WindowStage创建

二、AbilityStage、UIAbility、WindowStage介绍

四大组件的生命周期和简单用法_组件生命周期钩子_

在Application启动之后会依次创建AbilityStage、UIAbility、WindowStage等组件,所以这里主要对比iOS系统对这三个组件进行逐一介绍。

AbilityStage(能力阶段)

与iOS对比:iOS中的应用程序生命周期通常由UIApplication类管理,其方法如application:didFinishLaunchingWithOptions:、applicationWillEnterForeground:、applicationDidEnterBackground:、applicationWillTerminate:等,与AbilityStage中的方法类似,分别处理应用程序的启动、进入前台、进入后台和销毁等状态。

UIAbility(用户界面能力)

WindowStage(窗口阶段)

与iOS对比:iOS中的UIWindow类类似于WindowStage,用于管理应用程序窗口的显示和隐藏。然而,iOS中的UIWindow通常不会直接处理窗口的激活和非激活状态,这些状态更多是由UIViewController和UIApplication类管理的。UIWindow提供了如makeKeyAndVisible()、hidden等属性和方法,用于控制窗口的显示和隐藏。

总结

需要注意的是,由于HarmonyOS和iOS是两个不同的操作系统,它们的组件和生命周期管理方式虽然有一些相似之处,但也存在显著的差异。因此,在开发时需要根据具体的操作系统和平台选择合适的组件和方法来实现所需的功能。