0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

鸿蒙开发:【进程模型】

jf_46214456 来源:jf_46214456 作者:jf_46214456 2024-06-13 09:53 次阅读

进程模型

系统的进程模型如下图所示。

  • 应用中(同一Bundle名称)的所有UIAbility、ServiceExtensionAbility和DataShareExtensionAbility均是运行在同一个独立进程(主进程)中,如下图中绿色部分的“Main Process”。
  • 应用中(同一Bundle名称)的所有同一类型ExtensionAbility(除ServiceExtensionAbility和DataShareExtensionAbility外)均是运行在一个独立进程中,如下图中蓝色部分的“FormExtensionAbility Process”、“InputMethodExtensionAbility Process”、其他ExtensionAbility Process。
  • WebView拥有独立的渲染进程,如下图中黄色部分的“Render Process”。

图1 进程模型示意图
process-model

说明:
开发前请熟悉鸿蒙开发指导文档 :[gitee.com/li-shizhen-skin/harmony-os/blob/master/README.md]

  • 仅系统应用支持构建ServiceExtensionAbility和DataShareExtensionAbility。
  • 执行hdc shell命令,进入设备的shell命令行。在shell命令行中,执行ps -ef命令,可以查看所有正在运行的进程信息。>

搜狗高速浏览器截图20240326151450.png

在上述模型基础上,对于系统应用可以通过申请多进程权限(如下图所示),为指定HAP配置一个自定义进程名,该HAP中的UIAbility、DataShareExtensionAbility、ServiceExtensionAbility就会运行在自定义进程中。不同的HAP可以通过配置不同的进程名运行在不同进程中。

图2 多进程示意图
multi-process

基于当前的进程模型,针对应用间和应用内存在多个进程的情况,系统提供了如下进程间通信机制:

[公共事件机制]:多用于一对多的通信场景,公共事件发布者可能存在多个订阅者同时接收事件。

审核编辑 黄宇

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 模型
    +关注

    关注

    1

    文章

    3372

    浏览量

    49314
  • 进程
    +关注

    关注

    0

    文章

    204

    浏览量

    14010
  • 鸿蒙
    +关注

    关注

    57

    文章

    2398

    浏览量

    43133
收藏 人收藏

    评论

    相关推荐

    AIGC入门及鸿蒙入门

    开发的语言模型工具,支持文本生成、代码编写等。 MidJourney:一个用于图像生成的工具,允许用户输入文本描述以生成相应的图像。 DALL·E:由Stability AI提供的图像生成工具,基于扩散
    发表于 01-13 10:32

    鸿蒙机器人与鸿蒙开发板联动演示

    鸿蒙机器人与鸿蒙开发板联动演示,机器人的角色为迎宾机器人,开发板负责人宾客出现监听
    发表于 12-02 14:55

    鸿蒙开发Ability Kit程序框架服务:FA模型切换Stage模型概述

    本文介绍如何将一个FA模型开发的声明式范式应用切换到Stage模型
    的头像 发表于 06-26 14:40 405次阅读
    <b class='flag-5'>鸿蒙</b><b class='flag-5'>开发</b>Ability Kit程序框架服务:FA<b class='flag-5'>模型</b>切换Stage<b class='flag-5'>模型</b>概述

    鸿蒙开发:线程模型

    FA模型下的线程主要有如下三类
    的头像 发表于 06-24 17:27 495次阅读
    <b class='flag-5'>鸿蒙</b><b class='flag-5'>开发</b>:线程<b class='flag-5'>模型</b>

    鸿蒙开发:【进程模型概述】

    应用中(同一包名)的所有PageAbility、ServiceAbility、DataAbility、FormAbility运行在同一个独立进程中,即图中绿色部分的“Main Process”。
    的头像 发表于 06-22 10:09 346次阅读
    <b class='flag-5'>鸿蒙</b><b class='flag-5'>开发</b>:【<b class='flag-5'>进程</b><b class='flag-5'>模型</b>概述】

    鸿蒙应用模型:【应用模型】解析

    应用模型是系统为开发者提供的应用程序所需能力的抽象提炼,它提供了应用程序必备的组件和运行机制。有了应用模型开发者可以基于一套统一的模型进行
    的头像 发表于 05-31 11:38 628次阅读
    <b class='flag-5'>鸿蒙</b>应用<b class='flag-5'>模型</b>:【应用<b class='flag-5'>模型</b>】解析

    鸿蒙应用模型:【Stage模型开发】概述

    每个Entry类型或者Feature类型的HAP在运行期都有一个AbilityStage类实例,当HAP中的代码首次被加载到进程中的时候,系统会先创建AbilityStage实例。
    的头像 发表于 05-30 09:33 416次阅读
    <b class='flag-5'>鸿蒙</b>应用<b class='flag-5'>模型</b>:【Stage<b class='flag-5'>模型</b><b class='flag-5'>开发</b>】概述

    鸿蒙应用模型:【Ability Kit】简介

    Ability Kit(程序框架服务)提供了应用程序开发和运行的应用模型,是系统为开发者提供的应用程序所需能力的抽象提炼,它提供了应用程序必备的组件和运行机制。有了应用模型
    的头像 发表于 05-29 14:41 740次阅读
    <b class='flag-5'>鸿蒙</b>应用<b class='flag-5'>模型</b>:【Ability Kit】简介

    哪吒汽车APP启动鸿蒙原生应用开发

    哪吒汽车正式签约,启动鸿蒙原生应用开发;在5月17日,在上海市经济和信息化委员会指导的“千帆竞发启航 共筑鸿蒙生态——HDD上海站·鸿蒙原生应用专场”活动中哪吒汽车与华为签约启动
    的头像 发表于 05-18 09:48 1240次阅读

    鸿蒙开发就业前景到底怎么样?

    鸿蒙, 作为华为自主研发的基于微内核的下一代操作系统,正在逐渐走进人们的视野 。随着鸿蒙系统的不断发展和完善,越来越多的人开始关注鸿蒙开发这一领域,想要了解学习
    发表于 05-09 17:37

    鸿蒙NEXT南向开发案例:【智能台灯】

    鸿蒙南向开发之智能台灯案例
    的头像 发表于 04-03 18:00 1102次阅读
    <b class='flag-5'>鸿蒙</b>NEXT南向<b class='flag-5'>开发</b>案例:【智能台灯】

    鸿蒙实战项目开发:【短信服务】

    两位前阿里高级研发工程师联合打造的 《鸿蒙NEXT星河版OpenHarmony开发文档》 里面内容包含了(ArkTS、ArkUI开发组件、Stage模型、多端部署、分布式应用
    发表于 03-03 21:29

    学习鸿蒙背后的价值?星河版开放如何学习?

    现在是2024年,华为在1月18开展了鸿蒙千帆起仪式发布会。宣布了鸿蒙星河版,并对开发者开放申请,此次发布会主要是说明了,鸿蒙已经是全栈自研底座,鸿
    发表于 02-22 20:55

    纯血鸿蒙系统,拿什么与安卓、iOS比?

    、数码、车载等等一系列生态闭环。 而华为鸿蒙是全栈自研底座,从AI大模型、AI框架、安全隐私、集成开发环境、设计系统、编程框体、编译器、编程语言和文件系统,到操作系统内核。去掉了传统的AOSP 代码
    发表于 02-21 21:04

    未来从事鸿蒙开发?是否会有前景?

    鸿蒙的未来发展肯定很有前景的,鸿蒙作为新出的国产操作系统。它不仅只是手机操作系统,鸿蒙的出发点就是万物互联。包含原生应用开发、车载、智能设备、数码、智能家居家电等等。如此大的市场分布,
    发表于 02-19 21:31