目录

一、前言

二、HarmonyOS与Android的对比

2.1 HarmonyOS并不是Android的替代品

2.2 系统定位

2.3 内核对比

2.4 运行速度

三、方舟编译器


一、前言

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

二、HarmonyOS与Android的对比

2.1 HarmonyOS并不是Android的替代品

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

文章观点:

  1. HarmonyOS并不是Android的替代品,HarmonyOS与Android并非同一个赛道
  2. HarmonyOS目前缺乏生态支持这一点远远比不上Android,但是HarmonyOS的战略眼光更加高,未来可期
  3. 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):基于微内核设计,微内核仅包括了操作系统必要的功能模块(任务管理、内存分配等)处在核心地位具有最高权限,其他模块不具有最高权限,也就是说其他模块出现问题,对于整个系统的运行是没有阻碍的。微内核稳定性很高。鸿蒙系统包含了两个内核:

  • Linux内核
  • LiteOS内核

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

  • 内核子系统:HarmonyOS采用多内核设计,支持针对不同资源受限设备选用适合的OS内核。内核抽象层(KAL,Kernel Abstract Layer)通过屏蔽多内核差异,对上层提供基础的内核能力,包括进程/线程管理、内存管理、文件系统、网络管理和外设管理等。
  • 驱动子系统:硬件驱动框架(HDF)是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)技术架构图如下

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

三、方舟编译器

以下部分来源开源中国对方舟编译器的介绍:
https://www.oschina.net/p/arkcompiler?hmsr=aladdin1e1

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

方舟编译器的优势

  • 多语言联合:将同一应用中的不同语言代码联合编译、联合优化,消除语言间的性能“鸿沟”,降低开发者的优化成本
  • 轻量运行时:通过编译器的语言实现能力和优化能力增强,应用运行时的开销更小
  • 软硬件协同:编译器与芯片实现软硬件协同优化,充分发挥硬件能效,应用体验更佳
  • 多平台支持:支持面向多样化的终端设备平台进行编译和运行,根据设备特征提供便捷的开发与部署策略,提高开发效率

鸿蒙HarmonyOS与安卓Android的全面对比相关推荐

  1. HarmonyOS兼容android,华为官宣鸿蒙OS2.0手机端定档6月2日 鸿蒙究竟和安卓、iOS有什么不同?...

    [天极网手机频道]千呼万唤始出来,鸿蒙OS终于要上线手机端了. 5月25日早晨,华为官宣,将于6月2日晚8时举行线上发布会,正式发布鸿蒙手机操作系统.随后,华为EMUI各大平台的官方账号相继更改名称为 ...

  2. 鸿蒙-实践课程六 android、HarmonyOS 权限对比

    系统权限分为: 应用沙盒.应用权限.权限保护的对象.开放边界.系统权限.核心功能等等. 权限包含对象:数据.能力. harmonyos 类似与android 底层linux,通过DAC-discret ...

  3. HarmonyOS与Android的全面对比

    目录 一.前言 二.HarmonyOS与Android的对比 2.1 HarmonyOS并不是Android的替代品 2.2 系统定位 2.3 内核对比 2.4 运行速度 三.方舟编译器 一.前言 这 ...

  4. 鸿蒙和安卓开发的一些对比

    说明:写个文章简单总结一下鸿蒙和安卓开发常见的一些异同之处,能快速认识理解一下鸿蒙和安卓的开发,意在同时开发两个端的或者转鸿蒙比较方便理解.有空会更新一下. 一.鸿蒙/安卓开发相关 1.开发文档 鸿蒙 ...

  5. 鸿蒙OS基于安卓11,华为鸿蒙OS 2.0、EMUI 11对比:安卓底层没了

    原标题:华为鸿蒙OS 2.0.EMUI 11对比:安卓底层没了 鸿蒙OS 2.0的手机开发者Beta版可兼容运行安卓应用,目前在UI设计上和基于安卓的EMUI11没什么区别,流畅度和EMUI 11相仿 ...

  6. 华为android系统是什么意思,华为HarmonyOS与安卓系统有什么区别?一文了解

    5 月 27 日消息 华为已正式宣布,将于 6 月 2 日 20:00 召开鸿蒙操作系统及华为全场景新品发布会,正式公布可以覆盖手机等移动终端的鸿蒙操作系统. 跟安卓有什么区别,华为 HarmonyO ...

  7. 华为鸿蒙系统与安卓系统对比,华为鸿蒙系统与安卓系统对比分析,区别在哪里?网友:细节定成败!...

    原标题:华为鸿蒙系统与安卓系统对比分析,区别在哪里?网友:细节定成败! 安卓系统大家都很熟悉,已经发展了数十年时间,软件生态可以说是相当完善,但流畅度依然不及苹果IOS.从系统设计上看,安卓有着不少的 ...

  8. 谷歌发布最新版安卓Android,谷歌正式除名华为,安卓12华为首发无望,但鸿蒙将迎难顶上!...

    原标题:谷歌正式"除名"华为,安卓12华为首发无望,但鸿蒙将迎难顶上! 前几天谷歌正式发布了新一代的安卓12系统.这也是安卓的第十二个大更新版本,从安卓1.0发布的2008年算起, ...

  9. 鸿蒙OS到底是不是Android套皮?

    本文转载自不正经程序员 某人曾说「没有调查就没有发言权」 最近鸿蒙系统关注度好高,支持与反对.看好和看衰.「自主的全场景分布式系统」和「Android套壳」各执一词,吵的不可开交. 作为十八流码农,本 ...

最新文章

  1. C++ 二维数组和指针数组
  2. linux数据库实例开机启动不了,linux下Oracle数据库实例开机自启动设置
  3. 【遥感数字图像处理】基础知识:第一章 绪论
  4. Oracle和sqlserver数据类型对应
  5. SVN的代码回滚,并不如预期的那样好
  6. instantclient php,Oracle 轻量即时客户端Instant Client安装配置
  7. 微博营销有什么优势与缺点?如何利用微博开展营销?
  8. 类选择器和ID选择器的区别
  9. 【CSS】CSS中alt属性和title属性用法
  10. STL--C++中 destory() 和deallocate()以及delete函数的相关性和区别性,destorydeallocate
  11. mysql中防呆是什么_别让用户发呆——设计中的防呆策略
  12. 非因解读 | DSP空间转录组技术揭示食管鳞状细胞癌三级淋巴样结构的预后价值及分子特征
  13. 2022-08-15 第四小组 修身课 学习笔记(every day)
  14. java race condition_java 多线程下race condition问题
  15. Java毕设项目保险公司风险测评管理系统计算机(附源码+系统+数据库+LW)
  16. php获取搜索记录,php如何记录搜索引擎爬行记录
  17. tdk怎么设置_网站TDK设置是什么意思?那么它又该如何优化呢?
  18. 记录工作计划的便签软件哪些可以设置休息日免打扰
  19. 数据结构课程设计——中国计算机设计大赛赛事统计
  20. Greenplum函数 - 身份证号15位转18位

热门文章

  1. 笔记本触摸板没反应怎么办?处理方法看这些
  2. require-dev.mikey179/vfsStream is invalid, it should not contain uppercase characters. Please use m
  3. 文字排版(C程序设计进阶第5周)
  4. 4angle multiplexing figure, phase, lee holo, interferogram
  5. 小白入门——关于什么是人脸布控
  6. 2021年全球壁挂式书柜行业调研及趋势分析报告
  7. getServletContext().getRealPath(“/“);报错
  8. python下载网页文件数字递进_关于Python 生成一个递进结果的代码
  9. MHD-HD20AY高清20倍变焦摄像头VGA接口
  10. 神经网络详解(基本完成)