鸿蒙NEXT开发【启动流程及API调用总结】
对应用进程初始化后 MainThread 初始化及核心API调用 (如AttachApplication、LaunchApplication、LaunchAbility) 的过程做了分析和总结,同时绘制了进程间切换逻辑以及核心API调用逻辑的时序图,特分享出来,供大家加深对HarmonyOS开发和OpenHarmony开发的认识和源码的理解。
·
对应用进程初始化后 MainThread 初始化及核心API调用 (如AttachApplication、LaunchApplication、LaunchAbility) 的过程做了分析和总结,同时绘制了进程间切换逻辑以及核心API调用逻辑的时序图,特分享出来,供大家加深对HarmonyOS开发和OpenHarmony开发的认识和源码的理解。
应用启动流程的核心类须知:
- AppMgrService 是应用管理服务主线程类,实现了 IPC 调用 IAppMgr 的接口,并通过 AMSEventHandler 将进程内各类事件及任务发送到主线程。
- AppRunningManager 记录了应用的信息、应用的运行状态、进程信息等,内部持有了模块运行信息列表,应用第一次启动时,会先创建。
- AppSpawn 是 app 孵化器,通过监听本地 socket,接收客户端的请求消息。创建 Ability 应用所在进程,为 Ability 应用设置相应的权限,并预加载一些通用的模块。
- AbilityLoader 负责注册和加载开发者 Ability 模块。开发者开发的 Ability 先调用 AbilityLoader 的注册接口注册到框架中,接着 Ability 启动时会被实例化。
- AbilityManager 负责 AbilityKit 和 Ability 管理服务进行 IPC 的通信。
- MainThread 是应用进程的核心类。应用进程内各类事件及任务通过 MainThread 中 mainHandler 投递到主线程并调用 MainThread 中的方法执行。
- AbilityThread 是应用线程的核心类,是操作各种 Ability 生命周期及方法的入口。
总结-时序图

更多推荐
所有评论(0)