hi 大家好,我是 DHL。大厂程序员,在美团、快手、小米工作过。公众号:ByteCode,分享有用的原创文章,涉及鸿蒙、Android、Java、Kotlin、性能优化、大厂面经
自从华为在 2023 开发者大会上,宣布 HarmonyOS NEXT 开发者预览版本,不在兼容 Android 之后,腾讯、网易、美团、京东、字节等等大厂陆续宣布加入鸿蒙应用生态,随后金融、旅行、社交领域企业也陆续宣布加入鸿蒙生态。华为在适配工作上取得了重大进展。
近日有一个火爆的全网的消息,鸿蒙系统要开始全面脱离安卓系统了,未适配鸿蒙系统的应用将全部转成虚拟机。
全部转成虚拟机是什么意思?
我在之前的文章说过,鸿蒙脱离 Android 势在必行,但是短期内并不会和 Android 一刀切,因为生态的建立是需要时间积累的。
相比于自研新系统,最难的是生态的建立,而生态的建立就需要各个行业的人,为你的新系统开发软件,如果没有人为你的系统开发办公软件那就不能用于工作,如果没有人为你的系统开发游戏、音乐等等软件,那么就不能用于娱乐,一个既不能用于办公,也不能用于娱乐的操作系统,试问那个消费者会去使用。
曾经微软要开发一个不兼容的版本 window vista,结果因为不兼容大家都放弃,最后 vista 失败被迫放弃,后来的 win7、win8、win10 都是向下兼容,能运行旧版本程序。这里有个最重要的原因就是软件的生态。
因此生态是非常重要的,鸿蒙短期内是无法达到 Android 这种生态水平,那么怎么办呢,所以鸿蒙前期为了自身的发展,在设计的时候,采用的是一个双框架架构设计,既可以安装鸿蒙应用,也可以安装 Android 应用。
但是也不能一直处于兼容状态,所以鸿蒙开始了第二步,未适配鸿蒙系统的应用将全部转成虚拟机。
也就是说如果想在鸿蒙操作系统(HarmonyOS)中运行那些原本不兼容鸿蒙系统的应用程序。鸿蒙操作系统可能会采用一种虚拟机技术,类似于安卓系统中的 ART(Android Runtime)或者早期的 Dalvik 虚拟机,来允许那些未经修改的 Android 应用在鸿蒙系统上运行。这种虚拟机会提供一个兼容层,模拟 Android 系统的环境,从而使得原本设计为 Android 平台的应用能够在鸿蒙系统上执行。
我初步猜测,这个过程可能会经过以下步骤,具体实现细节需要等官方揭晓。
- 应用兼容性检查:系统会检查安装的应用是否直接兼容鸿蒙操作系统
- 转换为虚拟机应用:对于那些不兼容的应用,系统会将它们转换为可以在虚拟机中运行的形式
- 虚拟机执行:应用在虚拟机中运行,虚拟机提供了必要的安卓运行时环境,使应用能够正常工作,就像在安卓系统中一样
这种方式使得用户可以在鸿蒙操作系统中使用广泛的 Android 应用,而不必等待应用开发者发布专门为鸿蒙系统优化的版本。这对于新操作系统的用户采纳率和生态系统的快速发展至关重要。
需要注意的是,虚拟机中运行的应用可能在性能上不如原生兼容的应用流畅,因为额外的兼容层可能会引入一些性能开销。
我想说的
鸿蒙目前还处于初期发展阶段,网上对鸿蒙问题的解答太少了,而我在学习过程中也遇到了不少问题,花了不少时间去分析。有兴趣的小伙伴,可以看一下这篇文章,列举了我遇到的问题,以及解决方案。
相比于自己去摸索,通过与大家的沟通交流,效率会提高很多。所以我建一个鸿蒙学习交流群,诚邀各位小伙伴一起来打造一个良好的学习氛围沟通群。想入群小伙伴可以私信我
全文到这里就结束了,感谢你的阅读,如果文章对你有帮助,欢迎在看、点赞、分享给身边的朋友,你的点赞是我持续更新的动力。
Hi 大家好,我是 DHL,在美团、快手、小米工作过。公众号:ByteCode ,分享有用的原创文章,涉及鸿蒙、Android、Java、Kotlin、性能优化、大厂面经,真诚推荐你关注我。
- 公众号:ByteCode
- 哔哩哔哩: space.bilibili.com/498153238
- 掘金: juejin.im/user/259450...
- 博客: hi-dhl.com
- Github: github.com/hi-dhl
最新文章
- 学习鸿蒙,解决这几个关键问题
- 国内个人开发者太难了,APP备案保姆级过程
- 爆料 iPhone 史上最大的漏洞,你中招了吗
- 鸿蒙,流氓软件的终结者
- 使用 14 年的 API 被下线了
- Android 14 彻底终结大厂流氓应用
- 适配 Android 14,功能和权限的变更,你的应用受影响了吗
- Android 14 新增权限
- Android 13这些权限废弃,你的应用受影响了吗?
- 国外大厂面试题, 7 个 Android Lifecycle 重要的知识点
- Twitter 上有趣的代码
- 谁动了我的内存,揭秘 OOM 崩溃下降 90% 的秘密
- 反射技巧让你的性能提升 N 倍
- 90%人不懂的泛型局限性,泛型擦除,星投影
- 揭秘反射真的很耗时吗,射 10 万次耗时多久
- 影响性能的 Kotlin 代码(一)
- 揭秘 Kotlin 中的 == 和 ===
开源新项目
-
云同步编译工具(SyncKit),本地写代码,远程编译,欢迎前去查看 SyncKit
-
KtKit 小巧而实用,用 Kotlin 语言编写的工具库,欢迎前去查看 KtKit
-
最全、最新的 AndroidX Jetpack 相关组件的实战项目以及相关组件原理分析文章,正在逐渐增加 Jetpack 新成员,仓库持续更新,欢迎前去查看 AndroidX-Jetpack-Practice
-
LeetCode / 剑指 offer,包含多种解题思路、时间复杂度、空间复杂度分析,在线阅读