導航:首頁 > 操作系統 > 為什麼安卓系統不用虛擬機制

為什麼安卓系統不用虛擬機制

發布時間:2022-05-17 16:58:50

⑴ 安卓為什麼要用虛擬機,而不直接在linux系統上運行程序

  1. 因為本來java在不同架構的CPU、不同操作系統上的開發就具有統一的優勢。

  2. Java是語言,Linux是平台,語言一定要依靠於某個平台來工作。

  3. 兼容性就是安裝了JVM的機器都可以跑Java程序。

  4. Java虛擬機是為每個平台都提供的。也就是說,每一個平台都會編寫一個特定的Java虛擬機。

  5. 至於為什麼其他軟體不能運行在其他操作系統上,這個取決於底層的體系結構和介面 Linux和Windows的文件結構都不一樣,而且操作系統的架構相差特別多,而且底層的介面也是相差巨大,特別是在庫文件方面。

  6. android系統和Linux發行版的系統根本區別是Android上面只跑了一個Dalvik/ART,而Linux發行版上面跑了很多Dalvik/ART而已。

  7. Java虛擬機是一個想像中的機器,在實際的計算機上通過軟體模擬來實現。Java虛擬機有自己想像中的硬體,如處理器、堆棧、寄存器等,還具有相應的指令系統。

⑵ 安卓,為何寧肯使用效率低的虛擬機也不使用效率更高的沙盒

我們都知道。安卓系統和iOS系統是兩個完全不同的系統。他們的運行機制也有很大的區別。蘋果的iOS系統運行機制為沙盒。而安卓系統的運行機制為虛擬機。而虛擬機的大小一般都要比沙盒系統大很多。

今天小編就說到這里,歡迎大家在評論區給我留言哦。

⑶ 安卓機怎麼不用虛擬機直接windows系統

一般無法實現在 Android 設備中直接安裝 Windows 系統。
首先是處理器架構的問題,Android 設備大多使用 ARM 處理器,而平常使用的桌面 Windows 系統是基於 x86 架構的,處理器不通用,意味著 Windows 系統根本就無法在 Android 設備上運行。
雖然從 Windows 8 開始,也有了基於 ARM 架構的 Windows 系統,但這是需要硬體認證後才能使用的,不是任何一台手機或平版電腦都可以使用。
另外,由於手機和低端平板電腦的特殊性,系統需要更加精簡,不像我們的桌面系統那樣可以「安裝」,它們一般都是安按照硬體定製的,其中涉及硬體的驅動程序問題,所以手機或平版電腦的系統一般都只能「刷」專用的系統包。
除了主流設備外,也有極少使用 Intel 處理器的 Android-x86 設備,這些設備可以嗎?只能說也許可以做到,但暫時還沒有可行的辦法。近期,Intel 聯合藍魔發布了 Windows+Android 雙系統平板電腦,這也是當前「唯一的」即可使用 Windows 又可使用 Android 的設備。

⑷ 解釋為什麼Android系統運行的java程序不使用標準的java API和虛擬機

主要受到版權、成本和生態這些方面才使用的java程序。

android的內核是linux,用java包裝一層會有效率上的損失。但是java的用戶基數龐大,在當時拉開了c用戶5個點之多。
此外,當時市場上有強大的iphone已經搶先建立了apple store,應用數量超android很多,如果用了java就有可能在程序員數量上超過ios程序員。從而建立自己的生態系統。

⑸ 安卓為什麼比ios虛擬機

1.安卓與IOS的區別: 1、兩者運行機制不同:IOS採用的是沙盒運行機制,安卓採用的是虛擬機運行機制。 2、兩者後台制度不同:IOS中任何第三方程序都不能在後台運行;安卓中任何程序都能在後台運行,直到沒有內存...
2.安卓與IOS機制分析: iphone沙盒機制解釋 應用程序位於文件系統的嚴格限制部分,程序不能直接訪問其他應用程序。以殺毒軟體中...
3.其他方面分析: 軟體方面 蘋果的軟體靠ITUNES賺錢還需要相應的許可所以相對而言質量要...

⑹ 為什麼android需要虛擬機,而ios不需要

不是 Android 「需要」虛擬機 iOS 不「需要」,而是 Android 的系統機制本來一開始就是基於 Dalvik 虛擬機(現在是 ART)的。因果關系不要弄錯。

⑺ 為什麼安卓系統運行的JAVA程序不使用標準的JAVAAPI和虛擬機

Java虛擬機與Java語言沒有什麼必然聯系,它只與特定的二進制文件:Class文件有關。
Java虛擬機包括運行時數據區域、執行引擎、本地庫介面、本地方法庫,其中類載入子系統並不屬於Java虛擬機內部結構。
Java虛擬機棧:私有線程,存儲著Java方法的調用狀態,包括局部變數、參數、返回值及運算的中間結果等。平時說的棧內存就是指Java虛擬機棧。具體內部存儲著棧幀裡面存放了方法的局部變數表、操作數棧、動態鏈接方法、返回地址、附加信息等信息,局部變數表中存儲著編譯期可知的各種基本數據類型(boolean、byte、char、short、int、float、long、double)、對象引用(reference類型,它不等同於對象本身,可能是一個指向對象起始地址的引用指針,也可能是指向一個代表對象的句柄或其他與此對象相關位置)和returnAddress類型(指向了一條位元組碼指令的地址)

⑻ 安卓系統為什麼一定要藉助虛擬機來達到不同cpu的通用目的

  1. 藉助虛擬機,最大的好處是簡化了開發,比如安卓運行在x86之上和arm之上,只要安卓大版本一樣,那麼app的開發就是完全一樣的(除了個別用到具體硬體特性的功能),這對於開發人員非常有利,因為不需要考慮不同硬體帶來的差異,高通和華為海思這種同為arm的就更不在話下;

  2. 適配不同的硬體,主要問題是驅動程序的問題,這是在虛擬機這一層之下的,不至於說系統全部重寫,但你可以了解一下編寫驅動的難度,能寫驅動的人水平跟在虛擬機寫app的人的水平完全不在一個等級;

  3. 你的問法有問題,應該說是適配不同硬體,cpu只是其中一種硬體,其他的零部件都要去適配,就是2裡面說的寫驅動,安卓=linux內核+java虛擬機,不藉助虛擬機也可以做到適配不同硬體,但是,第一,這就不是安卓了,第二,無法做到app快速簡潔開發了,而且,安卓的體積會很恐怖,因為需要集成常見硬體的驅動,這個就好比是現在的windows,也是因為驅動不同,所以不同廠商,甚至同廠商不同型號手機的rom是無法通用的。

⑼ 沙盒比虛擬機運行效率更高,為何安卓系統卻不使用它

因為安卓系統佔用內部空間比較小,而且安卓採用的是Java技術,所以非常適合虛擬機的運行,而且能發揮出很高的效率。沙盒占空間比較大,但是內存佔用比較小,所以運行速度快,但是它是一個獨立的運行機制,所以對系統架構要求高。

虛擬機運行機制,它是運用自身的系統建立了一個虛擬的計算機世界,很多文件或者是第三方軟體,都可以在這個虛擬計算機世界裡運行,從而達到更多軟體的兼容性,而且操作起來也更為的方便。它也不會主動阻止第三方軟體修改系統文件,但是會通過動態指令發出操作界面,讓操作者自己選擇,所以時間長了會讓手機變得卡頓的原因,但是這種虛擬機運營機制非常適合安卓的Java技術。

⑽ 解釋為什麼android系統運行的Java程序不使用標準的Java API和虛擬機

容易產生誤差和錯誤。
容易產生錯誤其中,用戶服務包括用戶界面、程序執行、I/O操作、文件系統操作、通信、錯誤檢驗、資源分配、記賬、保護與安全。一組系統程序是現代操作系統的另一特點,它表述了計算機的邏輯層次。系統程序也稱為系統工具,為程序開發和執行提供了一個方便的環境。系統程序可分為:文件管理、信息狀態、文件修改、程序語言支持、程序載入與執行、通信、後台服務。

閱讀全文

與為什麼安卓系統不用虛擬機制相關的資料

熱點內容
小天才app怎麼升級v242 瀏覽:544
簡單手工解壓玩具製作大全 瀏覽:925
免費編程電子書 瀏覽:869
想玩游戲什麼app最合適 瀏覽:560
安卓手機如何用airportspro 瀏覽:448
怎麼清理idea編譯緩存 瀏覽:951
鏡頭app怎麼推廣 瀏覽:437
什麼app隨便看電視劇 瀏覽:307
2021程序員薪酬 瀏覽:708
糖豆廣場怎麼下載app 瀏覽:213
qtvs2019選哪個編譯器 瀏覽:124
壓縮空氣管能焊嗎 瀏覽:284
linux中yum命令 瀏覽:397
在職演算法工程師 瀏覽:706
電碼加密函數方法有幾種 瀏覽:802
後綴是pdf 瀏覽:720
pr導出壓縮 瀏覽:32
命令語氣 瀏覽:245
脊柱解剖pdf 瀏覽:714
plc入門編程題目及答案 瀏覽:383