安卓虚拟器有什么用
⑴ 安卓系统为什么一定要借助虚拟机来达到不同cpu的通用目的
借助虚拟机,最大的好处是简化了开发,比如安卓运行在x86之上和arm之上,只要安卓大版本一样,那么app的开发就是完全一样的(除了个别用到具体硬件特性的功能),这对于开发人员非常有利,因为不需要考虑不同硬件带来的差异,高通和华为海思这种同为arm的就更不在话下;
适配不同的硬件,主要问题是驱动程序的问题,这是在虚拟机这一层之下的,不至于说系统全部重写,但你可以了解一下编写驱动的难度,能写驱动的人水平跟在虚拟机写app的人的水平完全不在一个等级;
你的问法有问题,应该说是适配不同硬件,cpu只是其中一种硬件,其他的零部件都要去适配,就是2里面说的写驱动,安卓=linux内核+java虚拟机,不借助虚拟机也可以做到适配不同硬件,但是,第一,这就不是安卓了,第二,无法做到app快速简洁开发了,而且,安卓的体积会很恐怖,因为需要集成常见硬件的驱动,这个就好比是现在的windows,也是因为驱动不同,所以不同厂商,甚至同厂商不同型号手机的rom是无法通用的。
⑵ 安卓为什么要用虚拟机,而不直接在Linux系统上运行程序
因为本来Java在不同架构的CPU、不同操作系统上的开发就具有统一的优势。
Java是语言,Linux是平台,语言一定要依靠于某个平台来工作。
兼容性就是安装了JVM的机器都可以跑Java程序。
Java虚拟机是为每个平台都提供的。也就是说,每一个平台都会编写一个特定的Java虚拟机。
至于为什么其他软件不能运行在其他操作系统上,这个取决于底层的体系结构和接口 Linux和Windows的文件结构都不一样,而且操作系统的架构相差特别多,而且底层的接口也是相差巨大,特别是在库文件方面。
Android系统和Linux发行版的系统根本区别是Android上面只跑了一个Dalvik/ART,而Linux发行版上面跑了很多Dalvik/ART而已。
Java虚拟机是一个想象中的机器,在实际的计算机上通过软件模拟来实现。Java虚拟机有自己想象中的硬件,如处理器、堆栈、寄存器等,还具有相应的指令系统。
⑶ 安卓,为何宁肯使用效率低的虚拟机也不使用效率更高的沙盒
我们都知道。安卓系统和iOS系统是两个完全不同的系统。他们的运行机制也有很大的区别。苹果的iOS系统运行机制为沙盒。而安卓系统的运行机制为虚拟机。而虚拟机的大小一般都要比沙盒系统大很多。
今天小编就说到这里,欢迎大家在评论区给我留言哦。
⑷ 安卓和Linux是什么关系安卓能运行Linux软件为什么说安卓是虚拟机环境虚拟机有什么特点优
安卓一开始是使用的linux系统内核。linux操作系统内核,套上壳,加一些应用软件,就是操作系统了。linux系统是用C语言写的,被广泛地移植到各种机器上。
虚拟机,就是一个虚拟的计算机硬件系统,有虚拟的CPU、指令集。运行时,将虚拟指令翻译成实体机器指令执行。JAVA语言就是运行的在虚拟机上的。使用虚拟机的好处,就是二进制代码可以在任何实体机器上运行,真正跨平台;缺点是翻译执行,效率比较低。
linux系统可以安装在任何计算机、手机上面,移植比较简单。但是应用软件有限。