安卓虛擬器有什麼用
⑴ 安卓系統為什麼一定要藉助虛擬機來達到不同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系統可以安裝在任何計算機、手機上面,移植比較簡單。但是應用軟體有限。