返回顶部
首页 > 资讯 > 精选 >多面分析HarmonyOS与Android的特点是什么
  • 703
分享到

多面分析HarmonyOS与Android的特点是什么

2023-06-20 21:06:34 703人浏览 独家记忆
摘要

这篇文章主要为大家展示了“多面分析HarmonyOS与Android的特点是什么”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“多面分析HarmonyOS与Android的特点是什么”这篇文章吧。

这篇文章主要为大家展示了“多面分析HarmonyOS与Android的特点是什么”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“多面分析HarmonyOS与Android的特点是什么”这篇文章吧。

一、前言

这段时间我在寻思着学习一下鸿蒙,第一是因为在着手做一个自己的开源项目,技术选型的时候想到了鸿蒙;第二是我个人非常看好鸿蒙系统的未来,清楚明白华为和一些民族企业担负的责任和国人的期待,虽然带着一些民族感情;鸿蒙刚发布的时候自己是非常激动的,但是后来项目太忙一直没有认真的去了解过,这次打算花一部分时间认认真真的去研究学习一下。于是我开始试探性的去请教身边的大佬们,公司的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):基于微内核设计,微内核仅包括了操作系统必要的功能模块(任务管理、内存分配等)处在核心地位具有最高权限,其他模块不具有最高权限,也就是说其他模块出现问题,对于整个系统的运行是没有阻碍的。微内核稳定性很高。鸿蒙系统包含了两个内核:

  • 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与Android的特点是什么

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

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

多面分析HarmonyOS与Android的特点是什么

三、方舟编译器

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

方舟编译器

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

多面分析HarmonyOS与Android的特点是什么

方舟编译器的优势

  • 多语言联合:将同一应用中的不同语言代码联合编译、联合优化,消除语言间的性能“鸿沟”,降低开发者的优化成本

  • 轻量运行时:通过编译器的语言实现能力和优化能力增强,应用运行时的开销更小

  • 软硬件协同:编译器与芯片实现软硬件协同优化,充分发挥硬件能效,应用体验更佳

  • 多平台支持:支持面向多样化的终端设备平台进行编译和运行,根据设备特征提供便捷的开发与部署策略,提高开发效率

多面分析HarmonyOS与Android的特点是什么

以上是“多面分析HarmonyOS与Android的特点是什么”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注编程网精选频道!

--结束END--

本文标题: 多面分析HarmonyOS与Android的特点是什么

本文链接: https://lsjlt.com/news/300183.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • 多面分析HarmonyOS与Android的特点是什么
    这篇文章主要为大家展示了“多面分析HarmonyOS与Android的特点是什么”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“多面分析HarmonyOS与Android的特点是什么”这篇文章吧。...
    99+
    2023-06-20
  • 多面分析HarmonyOS与Android的特点
    目录一、前言二、HarmonyOS与Android的对比2.1 HarmonyOS并不是Android的替代品2.2 系统定位2.3 内核对比2.4 运行速度三、方舟编译器一、前言 ...
    99+
    2024-04-02
  • java与javascript的特点是什么
    本篇内容介绍了“java与javascript的特点是什么”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成! ...
    99+
    2024-04-02
  • C#多态性的特点是什么
    这篇文章主要介绍“C#多态性的特点是什么”,在日常操作中,相信很多人在C#多态性的特点是什么问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”C#多态性的特点是什么”的疑惑有所帮助!接下来,请跟着小编一起来学习吧...
    99+
    2023-06-17
  • Session、JWT与OAuth2的特点是什么
    这篇文章主要讲解了“Session、JWT与OAuth2的特点是什么”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Session、JWT与OAuth2的特点是什么”吧!Session模式浏览...
    99+
    2023-06-26
  • PHP自动采集多页:特点、优势与分析
    在互联网时代,信息爆炸的今天,如何高效地获取所需的数据成为了许多人关注的焦点。而对于开发者来说,PHP自动采集多页工具成为了一种不可或缺的利器。本文将以评测对比的方式,详细介绍这一工具的特点和优势。 功能强大:PHP自动采集多页工具具有强大...
    99+
    2023-09-09
    采集 工具
  • Java面向对象特点与使用方法是什么
    这篇“Java面向对象特点与使用方法是什么”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“Java面向对象特点与使用方法是什么...
    99+
    2023-06-30
  • Python与Golang语言的特点是什么
    这篇文章主要介绍“Python与Golang语言的特点是什么”,在日常操作中,相信很多人在Python与Golang语言的特点是什么问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Python与Golang语言...
    99+
    2023-06-30
  • C语言的特点与优势分析
    C语言的特点与优势分析 C语言作为一种近乎普遍使用的编程语言,具有许多独特的特点和优势。本文将从语法简洁、灵活性强、高效性以及跨平台性等方面进行分析,并提供具体的代码示例加以说明。 首...
    99+
    2024-04-02
  • Go语言的特点与优势分析
    go语言的特点:高并发性(goroutine)自动垃圾回收跨平台简洁性模块化go语言的优势:高性能安全性可扩展性社区支持 Go语言的特点与优势分析 Go语言,又称Golang,是一种由...
    99+
    2024-04-04
    go语言 优势 golang
  • 织梦CMS的优势与特点分析
    织梦CMS的优势与特点分析 织梦CMS是一款备受欢迎的开源网站建设工具,它具有许多优点和独特特点,为用户提供了便捷、灵活和强大的网站建设与管理体验。在此文章中,我们将深入探讨织梦CMS...
    99+
    2024-04-02
  • Go语言的优势与特点分析
    Go语言的优势与特点分析 Go语言自诞生以来备受瞩目,其简洁的语法结构和高效的性能使其在编程领域大放异彩。本文将从几个方面详细分析Go语言的优势与特点,并通过具体的代码示例来展示其强大...
    99+
    2024-04-02
  • Java继承与重写的特点是什么
    本篇内容介绍了“Java继承与重写的特点是什么”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!概念:继承是面向对象语法三大特征之一,继承可以降...
    99+
    2023-06-30
  • Nginx和Apache的特点与区别是什么
    这篇文章主要介绍“Nginx和Apache的特点与区别是什么”,在日常操作中,相信很多人在Nginx和Apache的特点与区别是什么问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Nginx和Apache的特点...
    99+
    2023-07-05
  • JavaScript面向对象的思维特点是什么
    这篇“JavaScript面向对象的思维特点是什么”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看...
    99+
    2024-04-02
  • ajax的特点是什么
    本文小编为大家详细介绍“ajax的特点是什么”,内容详细,步骤清晰,细节处理妥当,希望这篇“ajax的特点是什么”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。ajax全称叫“As...
    99+
    2024-04-02
  • ProFTPD的特点是什么
    本篇文章为大家展示了ProFTPD的特点是什么,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。ProFTPD是继Wu-FTP之后最为流行的FTP服务器软件。给大家讲下ProFTPD 的特点。ProFT...
    99+
    2023-06-16
  • java的特点是什么
    Java的特点主要有以下几点:1. 跨平台性:Java通过Java虚拟机(JVM)实现了跨平台的能力,即可以在不同的操作系统上运行相...
    99+
    2023-08-30
    java
  • Videoparse的特点是什么
    本篇内容介绍了“Videoparse的特点是什么”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!接口特点:Videoparse短视频解析接口支...
    99+
    2023-06-04
  • Hadoop的特点是什么
    本篇内容介绍了“Hadoop的特点是什么”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!  Hadoop出现的原因:现在的我们,生活在数据大爆...
    99+
    2023-06-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作