【Android】1.0 2019安卓生猛上手
1.Android作業系統,由安迪魯賓發明,原發明用於照相機作業系統,市場反應慘淡,需求不足,後2005年被谷歌收購,用於智慧手機作業系統。
2.logo來源:設計師上廁所看到男女廁所區別標誌聯想創作。
3.JVM和DVM:Java程式碼能轉換成機器識別碼,就是靠JVM.但是Android開發程式碼也是Java程式碼,用JVM足夠了,之所以谷歌單獨整出來DVM,不是因為DVM比JVM怎麼怎麼好,是因為版權問題。
3.1谷歌被sun(孫……)公司給告了(2006的事情,sun向谷歌索要2000萬美元10%的Android相關權益許諾其三年的Java授權,谷歌拒絕),2007年11月份,谷歌自主開發Android平臺虛擬機器Davik,避開sun訴訟。後來2010年1月sun(孫)公司被Oracle公司收購,兩家公司就接著扯皮之旅……,特別說明的是2011那件1月Android佔1/3智慧手機份額,2011年11月佔50%。
3.2既然谷歌幹了,那肯定要麼不幹,要麼就做得比原版好,所以兩者區別就有了。
區別:jvm:由.java變成.class變成.jar(jdk javac),基於棧(普通記憶體)的架構
dalvik vm:.java變成.class變成.dex(只有一個檔案)變成.odex(sdk dex) 基於暫存器(CPU)的架構,這裡著重說明的是dvm把所有的.class變成一個.dex檔案,原理近似於當你把70MB的多層檔案目錄,多個檔案,打包式複製到某個盤時,會有明顯的複製進度條,但轉成一個檔案後,可能檔案大小會變大(105MB左右),但是相反,複製完成的速度相當快,基本看不到複製的進度條。
4.ART模式。Android Runtime,在Android4.4之前,安卓手機系統應用程式均在Dalvik Java的虛擬機器上執行,依靠一個編譯器實現與應用程式的溝通,應用程式執行時,需要將程式內的程式碼轉換成機器碼才能執行,無形之中附加了一道手續,這造成了好點相對較快,佔用記憶體大,幾十旗艦機用久了也會卡頓嚴重的現象。ART模式開發之後,Android手機執行那就相當快了。
4.1原理:在安裝應用程式時,自動對程式進行程式碼預讀取編譯,程式直接編譯成機器語言,省去dalvik模式要時時轉換程式碼,實現高效率、省電、佔用更低記憶體。缺點是:佔用略高一些的儲存空間(比如QQ時間佔用記憶體原本為44.64MB,ART模式下,變為63.00MB)、安裝程式時要想比Dalvik模式要長一些時間來實現預編譯(現在看來,這基本都不算缺點了)。