應用程序基礎之01序論

應用程序基礎之01-序論

       Android應用程序使用Java編程語言編寫,Android SDK工具將代碼連同所有數據、資源文件一起編譯進一個Android包,也就是一個以.apk爲後綴的壓縮文件。在一個單獨的.apk文件中的所有代碼被稱爲一個應用程序,Android操作系統的設備也是用這樣的文件來安裝應用的。

       每一個Android應用程序一旦被安裝在一款設備上,那麼它便存在與自己獨立的安全沙箱中:

       *Android操作系統是一個多用戶的Linux操作系統,其中的每一個應用程序都是一個不同的用戶。

       *默認情況下,系統分配給每一個應用程序一個唯一的Linux用戶ID(用戶ID只能被系統使用,應用程序是不能識別的),系統爲一個應用程序中的所有文件設置權限,從而僅使被分配了指定用戶ID的應用程序纔可以訪問他們。

       *每一個進程都有它自己的虛擬機(VM),因此每一個應用程序都和其他應用隔離運行。

       *默認情況下,每一個應用都在自己的Linux進程中運行。當一個應用中任何組件需要被執行時,Android系統便啓動進程,當它不再被使用或者系統必須要爲其它應用程序恢復內存時便結束該進程。

這樣,Android系統符合最小特權原則。也就是說,默認情況下,每個應用程序僅僅能夠訪問它所需要的組件來完成它的工作,而沒有更多其它權利。這便創造了一個非常安全的環境,在此環境中,每個應用程序不能訪問系統中其它沒有賦予權限的部分。

       然而,對於應用程序來說也有一些途徑來和其它應用程序分享數據,或者使用系統的服務:

       *安排兩個應用程序分享同一個Linux用戶ID也是可能的,在這種情況下他們能夠互相訪問各自的文件。爲了節省系統資源,擁有相同用戶ID的應用程序也可以安排在同一個Linux進程中運行,共用同一個虛擬機(應用程序也必須使用相同的證書籤名)。

       *一個應用程序也可以請求權限來訪問設備數據,比如用戶的聯繫人、短信服務、SD儲存卡、相機、藍牙等等。所有的應用程序權限必須在安裝時被用戶賦予。

       以上內容包括了一個Android應用程序如何在系統中存在的基本要點。文檔其餘的部分將向您介紹以下內容:
       *定義您應用程序的核心構架組件。
       *聲明組件以及聲明應用程序所需設備特性的manifest文件。

       *與應用程序代碼分離並且使您的應用程序合理地優化各種各樣的設備配置行爲的資源。


轉載請註明:大飛_Rflyee:http://blog.csdn.net/rflyee/article/details/14046159








發佈了57 篇原創文章 · 獲贊 86 · 訪問量 44萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章