編輯:Android開發教程
Android進程模型
在安裝Android應用程序的時候,Android會為每個程序分配一個Linux用戶ID,並設置相應的權限,這樣其它應用程序就不能訪問此應用程序所擁有的數據和資源了。
在 Linux 中,一個用戶ID 識別一個給定用戶;在 Android 上,一個用戶ID 識別一個應用程序。應用程序在安裝時被分配用戶 ID,應用程序在設備上的存續期間內,用戶ID 保持不變。
默認情況下,每個apk運行在它自己的Linux進程中。當需要執行應用程序中的代碼時,Android會啟動一個jvm,即一個新的進程來執行,因此不同的apk運行在相互隔離的環境中。
下圖顯示了:兩個 Android 應用程序,各自在其自己的基本沙箱或進程上,他們是不同的Linux user ID。
開發者也可以給兩個應用程序分配相同的linux用戶id,這樣他們就能訪問對方所擁有的資源。
為了保留系統資源,擁有相同用戶id的應用程序可以運行在同一個進程中,共享同一個jvm。
如下圖,顯示了兩個 Android 應用程序,運行在同一進程上。
不同的應用程序可以運行在相同的進程中。要實現這個功能,首先必須使用相同的私鑰簽署這些應用程序,然後必須使用 manifest 文件給它們分配相同的 Linux 用戶 ID,這通過用相同的值/名定義 manifest 屬性 android:sharedUserId 來做到。
本文中如果直接安裝時不出現錯誤,則可以忽略(一、二、三、四、五),我安裝的是5.1.1,直接成功,就是有點慢,要有耐心。如果到最後一步,啟動不起來,報錯:emulator
現代手機設備的一個非常重要的特性就是可以旋轉屏幕的方向。當然了,Android也不例外。Android支持 兩種屏幕方向:portrait(豎屏)和landscape(橫
在Android中讀取doc文件需要用第三方jar包tm-extractors-0.4.jar,讀取的過程很簡單和普通的文件流操作基本一樣,下面寫一個簡單的例子:pack
要做一個優秀的Android應用,使用到網絡通信技術是必不可少的,很難想象一款沒有網絡交互的軟件最 終能發展得多成功。那麼我們來看一下,一般Android應用程序裡都是怎