2015-12-28 17:02:25 1267瀏覽
Android應(yīng)用程序是用java語言編寫的,通過Android SDK工具進行Android代碼的編譯,把代碼、數(shù)據(jù)和資源文件編譯到一個以apk為后綴的文件中。apk文件是Android系統(tǒng)中應(yīng)用軟件的通用安裝文件,是發(fā)布或安裝應(yīng)用到手機上的一個載體。我們可以把一個apk文件看作是一個Android應(yīng)用。
Android是什么意思,應(yīng)用如何存在于Android系統(tǒng):
1、Android操作系統(tǒng)。是一個多用戶Linux系統(tǒng),每個應(yīng)用代表不同的用戶。
2、默認情況下,系統(tǒng)會為每個用戶指定一個唯一的Linux用戶(這個ID只會被系統(tǒng)使用,應(yīng)用本身并不知道這個ID是多少)。系統(tǒng)會為一個應(yīng)用下的所有文件設(shè)置了權(quán)限,只有指定了相應(yīng)用戶ID的應(yīng)用才可以對這些文件進行訪問。
3、虛擬機對象(VM)。每個進程都有他自己的虛擬機對象(VM),所以應(yīng)用程序之間的代碼運行是彼此隔離的。
4、默認情況下,每個應(yīng)用運行在自己的Linux進程里。應(yīng)用里的任何組件需要運行時,Android就會啟動一個進程。當應(yīng)用所有的組件停止運行,或是系統(tǒng)為了讓其他應(yīng)用運行而必須回收內(nèi)存時,就會關(guān)閉當前應(yīng)用所在的進程。通過這種方式,使Android開發(fā)者實現(xiàn)了系統(tǒng)最小特權(quán)原則,也就是說,每個應(yīng)用只能訪問自己進程空間的內(nèi)容。這創(chuàng)建了一個非常安全的環(huán)境,例如,一個應(yīng)用不能夠訪問系統(tǒng)沒有授予訪問權(quán)限的服務(wù)。
然而,有許多種方式可以實現(xiàn)應(yīng)用之間數(shù)據(jù)的共享和訪問系統(tǒng)的服務(wù),下面介紹兩種方式:
1、共享相同的VM。安排兩個應(yīng)用程序共享一個Linux用戶ID是可以的,這種情況下他們是可以訪問彼此的文件的。為了節(jié)約系統(tǒng)資源,擁有相同ID的應(yīng)用也能運行在一個相同的Linux進程中,并且共享相同的VM。
2、一個應(yīng)用可以請求特定的權(quán)限來訪問設(shè)備上的數(shù)據(jù),例如聯(lián)系人信息、短信、SD卡、照相機、藍牙等。所有應(yīng)用權(quán)限在用戶安裝應(yīng)用程序時被授予。
上述內(nèi)容介紹應(yīng)用如何存在于Android系統(tǒng)中,也介紹了Android是什么意思。如果大家對于Android開發(fā)知識感興趣的話,扣丁學(xué)堂Android在線課程講述了更多從零開始學(xué)Android開發(fā)的知識技巧,讓你更好的進階于移動開發(fā)行業(yè)。
查看更多關(guān)于“Android資訊”的相關(guān)文章>>