安卓虚拟机(为什么安卓不放弃虚拟机机制,转变

生活百科 2022-08-05 09:26www.17kangjie.cn生活百科

主要是因为软件对硬件的兼容性。苹果的硬件只有苹果卖,所以做app只对几款硬件做兼容就好了。安卓的硬件厂商很多,一个app要对那么多硬件组合做兼容是不可能的,所以必须在java或者python这样的把底层封装好的“平台”上运行。

具体来讲,一个写好的c项目,在某个手机上编译成可执行程序就可以运行,但是这个可执行程序如果直接复制到另一个不同硬件的手机上,那么有几率无法运行。需要把源代码在新手机上再编译一遍,才能得到对应的可执行程序。然而大多数app为了盈利都是不公开源代码的,所以我们无法自己编译,开发者编译又麻烦。而java或者python,高级语言本身已经对底层硬件封装好了,相同的代码在不同的硬件上基本都能运行,但代价就是性能很多时候不优化的话不及c。

所以从这个逻辑上讲,只要安卓硬件不统一,就不会有放弃虚拟机。而开放的硬件策略正是安卓和苹果竞争的一大利器,这也是安卓系统本身需要开源的原因。把java上运行的应用编译成底层可执行的程序是一个好方案。但是这个编译器本身不仅需要开源,还要封装好各种硬件。避不开的根本问题是,兼容性与运行效率成反比。

兼容性的实现通常是封装,按照模块化原则,封装结果在不同层级上呈树状。兼容性越好,枝越多,树越大,同时循环也越多,效率就下来了。可以通过优化减少树枝,这样的优化要想实现,或许只能靠ai。

相关关键词:安卓虚拟机

Copyright © 2016-2025 www.17kangjie.cn 长沙家政网【一起康洁家政】 版权所有 Power by