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

    文章

    3419

    浏览量

    49482
  • 进程
    +关注

    关注

    0

    文章

    204

    浏览量

    14055
  • 鸿蒙
    +关注

    关注

    57

    文章

    2411

    浏览量

    43304
收藏 人收藏

    评论

    相关推荐

    鸿蒙原生应用开发也可以使用DeepSeek了

    和无私奉献的辛勤工作,才让我们能够轻松地将强大的DeepSeek模型集成到鸿蒙原生应用的开发环境中,为开发效率的提升提供了强大的技术支持,向他们的这种精神和奉献致敬! 下载链接:htt
    发表于 02-20 18:06

    AIGC入门及鸿蒙入门

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

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

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

    鸿蒙Flutter实战:07混合开发

    # 鸿蒙Flutter实战:混合开发 鸿蒙Flutter混合开发主要有两种形式。 ## 1.基于har 将flutter module打包成har包,在原生
    发表于 10-23 16:00

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

    本文介绍如何将一个FA模型开发的声明式范式应用切换到Stage模型
    的头像 发表于 06-26 14:40 435次阅读
    <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 532次阅读
    <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 363次阅读
    <b class='flag-5'>鸿蒙</b><b class='flag-5'>开发</b>:【<b class='flag-5'>进程</b><b class='flag-5'>模型</b>概述】

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

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

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

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

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

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

    鸿蒙OS崛起,鸿蒙应用开发工程师成市场新宠

    应用的形态也在发生着翻天覆地的变化。作为全球领先的移动操作系统和智能终端制造商,华为公司自主研发的鸿蒙OS应运而生,致力于构建一个统一的分布式操作系统,为各行各业的应用开发带来全新的可能性。 一、鸿蒙
    发表于 04-29 17:32

    鸿蒙OS开发学习:【尺寸适配实现】

    鸿蒙开发中,尺寸适配是一个重要的概念,它可以帮助我们在不同屏幕尺寸的设备上正确显示和布局我们的应用程序。本文将介绍如何在鸿蒙开发中实现尺寸适配的方法。
    的头像 发表于 04-10 16:05 2026次阅读
    <b class='flag-5'>鸿蒙</b>OS<b class='flag-5'>开发</b>学习:【尺寸适配实现】

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

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