解析Android應(yīng)用程序運(yùn)行機(jī)制
在標(biāo)準(zhǔn)的Windows和Linux桌面操作系統(tǒng)中,同時(shí)可以在不同的窗口中運(yùn)行多個(gè)應(yīng)用程序,每次只有一個(gè)應(yīng)用程序是當(dāng)前焦點(diǎn)狀態(tài),但其他的應(yīng)用程序都是一個(gè)平等的位置。用戶可以隨時(shí)切換每個(gè)應(yīng)用程序,在不需要應(yīng)用程序時(shí),也需要用戶來關(guān)閉應(yīng)用程序。
但是Android操作系統(tǒng)的應(yīng)用程序卻不是采用這種方式。
Android中每次只有一個(gè)應(yīng)用程序運(yùn)行在最前面,除了狀態(tài)欄的位置,當(dāng)前應(yīng)用程序?qū)仢M整個(gè)屏幕。用戶最常見的應(yīng)用程序就是應(yīng)用的主頁(Home application),這個(gè)程序主要顯示背景圖和應(yīng)用程序快捷方式、Widget等,用戶可以在此激活應(yīng)用程序。
用戶在Android運(yùn)行一個(gè)應(yīng)用程序時(shí),Android啟動(dòng)該程序并把它放到最前端,從這個(gè)應(yīng)用程序中,用戶可以啟動(dòng)別的應(yīng)用,或者該應(yīng)用自己的其他界面,一個(gè)啟動(dòng)一個(gè)。而這些程序和屏幕都被活動(dòng)管理(Android Activity Manager)記錄在應(yīng)用程序堆棧(application stack)中,在任何時(shí)候,用戶可以使用后退按鈕返回到前一個(gè)應(yīng)用屏幕,這有點(diǎn)類似瀏覽器的網(wǎng)頁瀏覽歷史功能一樣,用戶可以使用后退按鈕返回到上一個(gè)應(yīng)用屏幕。
在Android內(nèi)部,每個(gè)用戶界面代表一個(gè)活動(dòng)類(Activity Class),每個(gè)活動(dòng)有其自身的生命周期,每個(gè)應(yīng)用程序有一個(gè)或多個(gè)活動(dòng)。
在Android中,每個(gè)應(yīng)用程序都是“活躍的”,即使它的進(jìn)程被關(guān)閉以后。換而言之,其活動(dòng)(Activity)的生命周期和其進(jìn)程的生命周期不是綁定在一起的,進(jìn)程只是活動(dòng)的一次性容器而已,這與Windows、Linux那些標(biāo)準(zhǔn)的桌面操作系統(tǒng)是不同的。在標(biāo)準(zhǔn)的Windows和Linux桌面操作系統(tǒng)中,同時(shí)可以在不同的窗口中運(yùn)行多個(gè)應(yīng)用程序,每次只有一個(gè)應(yīng)用程序是當(dāng)前焦點(diǎn)狀態(tài),但其他的應(yīng)用程序都是一個(gè)平等的位置。用戶可以隨時(shí)切換每個(gè)應(yīng)用程序,在不需要應(yīng)用程序時(shí),也需要用戶來關(guān)閉應(yīng)用程序。
但是Android操作系統(tǒng)的應(yīng)用程序卻不是采用這種方式。
Android中每次只有一個(gè)應(yīng)用程序運(yùn)行在最前面,除了狀態(tài)欄的位置,當(dāng)前應(yīng)用程序?qū)仢M整個(gè)屏幕。用戶最常見的應(yīng)用程序就是應(yīng)用的主頁(Home application),這個(gè)程序主要顯示背景圖和應(yīng)用程序快捷方式、Widget等,用戶可以在此激活應(yīng)用程序。
用戶在Android運(yùn)行一個(gè)應(yīng)用程序時(shí),Android啟動(dòng)該程序并把它放到最前端,從這個(gè)應(yīng)用程序中,用戶可以啟動(dòng)別的應(yīng)用,或者該應(yīng)用自己的其他界面,一個(gè)啟動(dòng)一個(gè)。而這些程序和屏幕都被活動(dòng)管理(Android Activity Manager)記錄在應(yīng)用程序堆棧(application stack)中,在任何時(shí)候,用戶可以使用后退按鈕返回到前一個(gè)應(yīng)用屏幕,這有點(diǎn)類似瀏覽器的網(wǎng)頁瀏覽歷史功能一樣,用戶可以使用后退按鈕返回到上一個(gè)應(yīng)用屏幕。
在Android內(nèi)部,每個(gè)用戶界面代表一個(gè)活動(dòng)類(Activity Class),每個(gè)活動(dòng)有其自身的生命周期,每個(gè)應(yīng)用程序有一個(gè)或多個(gè)活動(dòng)。
在Android中,每個(gè)應(yīng)用程序都是“活躍的”,即使它的進(jìn)程被關(guān)閉以后。換而言之,其活動(dòng)(Activity)的生命周期和其進(jìn)程的生命周期不是綁定在一起的,進(jìn)程只是活動(dòng)的一次性容器而已,這與Windows、Linux那些標(biāo)準(zhǔn)的桌面操作系統(tǒng)是不同的。
- android實(shí)現(xiàn)獲取正在運(yùn)行的應(yīng)用程序
- Android 應(yīng)用按返回鍵退向后臺(tái)運(yùn)行實(shí)例代碼
- Android判斷App前臺(tái)運(yùn)行還是后臺(tái)運(yùn)行(運(yùn)行狀態(tài))
- Android App后臺(tái)服務(wù)報(bào)告工作狀態(tài)實(shí)例
- Android判斷當(dāng)前應(yīng)用程序處于前臺(tái)還是后臺(tái)的兩種方法
- 判斷Android程序是否在前臺(tái)運(yùn)行的兩種方法
- Android編程判斷應(yīng)用程序是否已安裝的方法
- Android判斷程序是否第一次啟動(dòng)
- Android 判斷程序在前臺(tái)運(yùn)行還是后臺(tái)運(yùn)行
- Android開發(fā)判斷一個(gè)app應(yīng)用是否在運(yùn)行的方法詳解
相關(guān)文章
Android Moveview滑屏移動(dòng)視圖類完整實(shí)例
這篇文章主要介紹了Android Moveview滑屏移動(dòng)視圖類,很有實(shí)用價(jià)值,需要的朋友可以參考下2014-07-07詳解Android ScrollView嵌套EditText出現(xiàn)的滑動(dòng)問題
本篇文章主要介紹了詳解ScrollView嵌套EditText出現(xiàn)的滑動(dòng)問題,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2018-01-01Android自定義View繪制貝塞爾曲線實(shí)現(xiàn)流程
貝塞爾曲線的本質(zhì)是通過數(shù)學(xué)計(jì)算的公式來繪制平滑的曲線,分為一階,二階,三階及多階。但是這里不講數(shù)學(xué)公式和驗(yàn)證,那些偉大的數(shù)學(xué)家已經(jīng)證明過了,所以就只講講Android開發(fā)中的運(yùn)用吧2022-11-11Androidstudio調(diào)用攝像頭拍照并保存照片
這篇文章主要為大家詳細(xì)介紹了Androidstudio調(diào)用攝像頭拍照并保存照片,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-03-03使用Android WebSocket實(shí)現(xiàn)即時(shí)通訊功能
即時(shí)通訊(Instant Messaging)最重要的毫無疑問就是即時(shí),不能有明顯的延遲,要實(shí)現(xiàn)IM的功能其實(shí)并不難,目前有很多第三方,比如極光的JMessage,都比較容易實(shí)現(xiàn)。本文通過實(shí)例代碼給大家分享Android WebSocket實(shí)現(xiàn)即時(shí)通訊功能,一起看看吧2019-10-10Android 夜間模式的實(shí)現(xiàn)代碼示例
本篇文章主要介紹了Android 夜間模式的實(shí)現(xiàn)代碼示例,實(shí)現(xiàn)能夠根據(jù)不同的設(shè)定,呈現(xiàn)不同風(fēng)格的界面給用戶,有興趣的可以了解一下。2017-03-03Android 優(yōu)雅的實(shí)現(xiàn)通用格式化編輯
這篇文章主要介紹了Android 優(yōu)雅的實(shí)現(xiàn)通用格式化編輯,幫助大家更好的理解和學(xué)習(xí)使用Android,感興趣的朋友可以了解下2021-03-03Android以對(duì)話框形式制作數(shù)字軟鍵盤示例
大家好,本篇文章主要講的是Android以對(duì)話框形式制作數(shù)字軟鍵盤示例,感興趣的同學(xué)趕快來看一看吧,對(duì)你有幫助的話記得收藏一下,方便下次瀏覽2021-12-12