Android面試準備 第三天 第六例 Android應用啟動原理
阿新 • • 發佈:2019-01-01
8、 啟動一個程式,可以主介面點選圖示進入,也可以從一個程式中跳轉過去,二者有什麼區別?
個人理解:首先關於從圖示的進入的操作,是個理所當然的行為,但是對於菜鳥的我,對於後臺執行的機制,可以明確的就是圖示點選後,Android系統層面會去讀取該App中AndroidManifest檔案,這個檔案又叫註冊清單,是App所使用到的四大元件一個宣告檔案,在該檔案中為所有使用到的元件宣告相關資訊,可以起到導航的作用,可以提高程式執行的效率,類似飯館中提供的選單;在這個檔案中必須提供一個主活動元件,即活動中意圖過濾器(intent-filter)的action為Main,可以簡單的看做是把這個活動標識為主活動,這樣話就類似了我們Java執行機制,會去查詢Main函式,然後根據主活動類的定義程式碼,在記憶體中建立該物件,回撥一系列方法,最後通過不同元件功能的集合形成一個可用的軟體。而從外部程式跳轉到另一個程式也是Android明確提供該手段的,這個功能實現的前提,我覺的基於Android系統上所有的
APP啟動原理的瞭解。
標準答案:
是因為啟動程式(主介面也是一個app),發現了在這個程式中存在一個設定為<category android:name="android.intent.category.LAUNCHER" />的activity,所以這個launcher會把icon提出來,放在主介面上。當用戶點選icon的時候,發出一個Intent:
二次理解:標準答案的內容太多雜亂,無法提煉。