3G指的是第三代移動通訊技術(3rd - Generation),速率通常在幾百Kbps,較以前的2G和2.5G在數據傳輸速度上有很大提高。3G與2G的主要區別是在傳輸聲音和數據的速度上的提高編程
4G指的是第四代移動通訊技術(4th - Generation),速度可達到100Mbps以上,幾乎能夠知足人們的全部傳輸數據的需求。瀏覽器
目前主流的3G技術標準有三種:安全
目前主流的4G技術爲LTE,但尚未被普遍應用。服務器
通訊技術的發展歷程:GSM→GPRS→EDGE→WCDMA→HSDPA→HSDPA+→ LTE網絡
Android本義指「機器人」,Google於2007年11月5日宣佈的基於Linux平臺的開源手機操做系統的名稱,官方中文名:安卓 。架構
Android系統早期由原名爲"Android"的公司開發,谷歌在2005年收購"Android.Inc"後,繼續對Android系統開發運營。框架
底層Linux內核只提供基本功能,其餘的應用軟件則由各公司自行開發,大部分程序以Java語言編寫。編程語言
因爲Android系統的開源特性,不少製造商都在生產Android系統的設備,如:摩托羅拉、HTC、三星、索愛、LG、小米、華爲、魅族等。函數
Android系統除了運行在智能手機上以外,還能夠用作平板電腦、電視、汽車等不少設備上。工具
Android系統的底層創建在Linux系統之上,該平臺由操做系統、中間件、用戶界面和應用軟件4層組成,它採用一種被稱爲軟件疊層(Software Stack)的方式進行構建。這種軟件疊層結構使得層與層之間相互分離,明確各層的分工。這種分工保證了層與層之間的低耦合,當下層的層內或層下發生改變時,上層應用程序無須任何改變。
Android平臺的架構圖以下:
從圖中能夠看出,Android系統是由五大部分組成的。
Android系統將會包含系列的核心應用程序,包括電子郵件客戶端,SMS程序、日曆、地圖、瀏覽器、聯繫人等。這些應用程序都是用Java編寫的。
當咱們開發Android應用程序時,就是面向底層的應用框架進行的。從這個意義上來看,Android系統上的應用程序時徹底平等的,不論是Android系統提供的程序, 仍是普通開發者提供的程序,均可以訪問Android提供的API框架。
Android包含一套被不一樣組件所使用的C/C++庫的集合。通常來講,Android應用開發者不能直接調用這套C/C++庫集,但能夠經過它上面的應用程序框架來調用這些庫。
Android運行時由兩部分組成:Android核心庫集合(Core Libraries)和Dalvik虛擬機(Dalvik Virtual Machine)。其中核心庫集提供了Java語言核心庫所能使用的絕大部分功能,而虛擬機則負責運行Android應用程序。 每一個Android應用程序都運行在單獨的Dalvik虛擬機內(即每一個Android應用程序對應一條Davlik進程),Dalvik專門針對同時高效運行多個虛擬機進行優化, 所以Android系統很方便實現對應用程序進行隔離。
因爲Android應用程序的編程語言是Java,所以有些人會把Dalvik虛擬機和JVM搞混,當實際上兩者存在區別:Dalvik並未徹底遵照JVM規範,二者也不兼容。 實際上,JVM虛擬機運行的是Java字節碼(一般就是.class文件),但Dalvik運行的是其專有的dex(Dalvik Executable)文件。JVM直接從.class文件或JAR包中 加載字節碼而後運行;而Dalvik則沒法直接從.class文件或JAR包中加載字節碼,它須要經過DX工具將應用程序的全部.class文件編譯成.dex文件, Dalvik則運行該.dex文件。
Dakvik虛擬機很是適合在移動終端上使用,相對於在PC或服務器上運行的虛擬機而言,Dalvik虛擬機不須要很快的CPU計算速度和大量的內存空間,它主要有以下兩個特色:
Android系統創建在Linux 2.6之上。Linux內核提供了安全性、內存管理、進程管理、網絡協議棧和驅動模型等核心系統服務。除此以外,Linux內核也是系統硬件和軟件疊層之間的抽象層。