首先簡單講一下Android的結構:首先是Applications(應用層)、接着:Application Framework(程序框架)、而後:類庫和Android運行時(有一個Dalvik虛擬機),最下面是:Linux內核。
安全
Applications:咱們通常說的應用層的開發就是在這個層次上進行的,固然包括了系統內置的一組應用程序,使用的是Java語言app
Application Framework:不管系統內置或者咱們本身編寫的App,都須要使用到這層,好比咱們想弄來電黑名單,自動掛斷電話,咱們就須要用到電話管理(TelephonyManager) 經過該層咱們就能夠很輕鬆的實現掛斷操做,而不須要關心底層實現框架
類庫和Android運行時:Android給咱們提供了一組C/C++庫,爲平臺的不一樣組件所使用,好比媒體框架;而Android Runtime則由Android核心庫集 + Dalvik虛擬機構成,Dalvik虛擬機是針對移動設備的虛擬機,它的特色:不須要很快的CPU計算速度和大量的內存空間;而每一個App都單獨地運行在單獨的Dalvik虛擬機內(每一個app對於一條Dalvik進程)而他的簡單運行流程如: spa
Linux內核:這裏就是涉及底層驅動的東西了,一些系統服務,好比安全性,內存管理以及進程管理等進程