文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

多面分析HarmonyOS与Android的特点

2024-04-02 19:55

关注

一、前言

这段时间我在寻思着学习一下鸿蒙,第一是因为在着手做一个自己的开源项目,技术选型的时候想到了鸿蒙;第二是我个人非常看好鸿蒙系统的未来,清楚明白华为和一些民族企业担负的责任和国人的期待,虽然带着一些民族感情;鸿蒙刚发布的时候自己是非常激动的,但是后来项目太忙一直没有认真的去了解过,这次打算花一部分时间认认真真的去研究学习一下。于是我开始试探性的去请教身边的大佬们,公司的CTO、中台部门的总监、老东家数十年行业经验的老架构、以及在中科院读研究生的大学老室友、技术圈的网友等等,他们都给出了自己独特的看法,让我从多方面更好的去了解到了大家对鸿蒙的认识,当然期间也发现很多国内开发者对鸿蒙系统嗤之以鼻或者抱着一些不太看好的心态,甚至有人在我的关于鸿蒙开发的博客下评论一些比较难听的话!(当然一千个读者有一千个哈姆雷特,这都是个人自由);这肯定是一篇遭到唾弃的文章!但这一切都无法磨灭我坚定的信仰:支持国产、支持民族企业、支持每一个为国家富强而努力的同胞! ​

二、HarmonyOS与Android的对比

2.1 HarmonyOS并不是Android的替代品

HarmonyOS与Android的对比相信是很多关注鸿蒙的人,非常关注的一个焦点话题,我并不特别了解安卓(Android)开发,只在大学期间有过一些课程的涉猎,但是我想我既然想学鸿蒙(HarmonyOS)那就离不开去硬着头皮探索这个问题!这里事先声明,写这篇文章之前我认真阅读了很多知乎、C站、B站、HarmonyOS官网、腾讯网关于HarmonyOS相关新闻等文章,也稍微跟了一些源码最后做了这些总结。 ​

文章观点:

HarmonyOS并不是Android的替代品,HarmonyOS与Android并非同一个赛道HarmonyOS目前缺乏生态支持这一点远远比不上Android,但是HarmonyOS的战略眼光更加高,未来可期HarmonyOS相比Android有一定的性能提升

2.2 系统定位

安卓(Android):是一种基于Linux内核(不包含GNU组件)的自由及开放源代码的操作系统。主要使用于移动设备,如智能手机和平板电脑,由美国Google公司和开放手机联盟领导及开发。

鸿蒙(HarmonyOS):是一款面向万物互联时代的、全新的分布式操作系统。在传统的单设备系统能力基础上,HarmonyOS提出了基于同一套系统能力、适配多种终端形态的分布式理念,能够支持手机、平板、智能穿戴、智慧屏、车机等多种终端设备,提供全场景(移动办公、运动健康、社交通信、媒体娱乐等)业务能力。

建议可以看下华为官方对于HarmonyOS系统定位的介绍视频:

视频地址:

https://mos-vod-drcn.dbankcdn.cn/P_VT/video_injection/7C1346286/v3/7C5879811130980925606204416/MP4Mix_H.264_1920x1080_6000_HEAAC1_PVC_NoCut.mp4

从上面的简单介绍就能很明显的看出,Android和HarmonyOS两款产品的研发初衷完全不一样,根本就不在同一个赛道上,安卓系统面向的是手机端,而鸿蒙系统面向的是这些年比较的新的概念物联网,致力于利用其5G世界领先的技术,优先布局和打造一个超级终端,万物互联的生态。

2.3 内核对比

安卓(Android):基于linux的宏内核设计 ,宏内核包含了操作系统绝大多数的功能和模块,而且这些功能和模块都具有最高的权限,只要一个模块出错,整个系统就会崩溃,这也是安卓系统容易崩溃的原因。系统开发难度低。

鸿蒙(HarmonyOS):基于微内核设计,微内核仅包括了操作系统必要的功能模块(任务管理、内存分配等)处在核心地位具有最高权限,其他模块不具有最高权限,也就是说其他模块出现问题,对于整个系统的运行是没有阻碍的。微内核稳定性很高。鸿蒙系统包含了两个内核:

建议可以看下华为官方对于HarmonyOS的技术架构介绍视频,它这个有对内核层总体架构有说明。

内核层

视频地址:

https://mos-vod-drcn.dbankcdn.cn/P_VT/video_injection/D71346286/v3/2999FE4A1130980852826641152/MP4Mix_H.264_1920x1080_6000_HEAAC1_PVC_NoCut.mp4

2.4 运行速度

安卓(Android):基于Java语言编码,Java语言有个很大的缺点是其不能直接与底层操作系统通信,需要通过虚拟机充当中间转换的角色,这是每一个Java开发人员都知道的知识点,JVM也是我们Java程序员必修的一门高级课程。虽然Java语言由于虚拟机的优化,编译器的优化,热点代码等技术使得其越来越快,但是无法直接与操作系统互相通信一直影响着其性能的突破(AOT(Ahead Of Time)技术我并未研究过,只了解Java的JIT(Just-in-time))。

安卓(Android)技术架构图如下

安卓技术架构图.jpg

鸿蒙(HarmonyOS):鸿蒙的开发也可以采用Java语言,官方也推荐使用Java语言开发,但是华为针对安卓或者说Java语言的这种特性,研发了方舟编译器,通过方舟编译器编译的软件可以直接与底层操作系统通信,方舟编译器在这一层面做到了取代虚拟机。虽然没有研究过,但是推断应该是在打包的时候,通过方舟编译器转换为操作系统能够读懂的机器语言,这样就可以跳过虚拟机解释这一步骤,当然这是肯定对机器的内存要求比较高,应该也存在启动后无法继续优化等问题。

鸿蒙(HarmonyOS)系统架构图如下:

鸿蒙系统架构图.png

三、方舟编译器

以下部分来源编程网对方舟编译器的介绍: https://www.jb51.net/softs/691124.html

方舟编译器

华为方舟编译器作为一款全新的编译器可以显著提高手机的运行速度,它不采用现有编译器边解释边执行的模式,而是将这种动态编译改为静态编译,可以做到全程执行机器码,进而高效运行程序,大大缩短程序响应时间。

095705_VgFL_2720166.jpg

方舟编译器的优势

082446_XqTE_12.png

以上内容是小编给大家介绍的HarmonyOS与Android的特点,希望对大家有所帮助,更多精彩内容继续关注编程网!

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-移动开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯