解析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í),也需要用戶來(lái)關(guān)閉應(yīng)用程序。
但是Android操作系統(tǒng)的應(yīng)用程序卻不是采用這種方式。
Android中每次只有一個(gè)應(yīng)用程序運(yùn)行在最前面,除了狀態(tài)欄的位置,當(dāng)前應(yīng)用程序?qū)仢M整個(gè)屏幕。用戶最常見(jiàn)的應(yīng)用程序就是應(yīng)用的主頁(yè)(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)類(lèi)似瀏覽器的網(wǎng)頁(yè)瀏覽歷史功能一樣,用戶可以使用后退按鈕返回到上一個(gè)應(yīng)用屏幕。
在Android內(nèi)部,每個(gè)用戶界面代表一個(gè)活動(dòng)類(lèi)(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í),也需要用戶來(lái)關(guān)閉應(yīng)用程序。
但是Android操作系統(tǒng)的應(yīng)用程序卻不是采用這種方式。
Android中每次只有一個(gè)應(yīng)用程序運(yùn)行在最前面,除了狀態(tài)欄的位置,當(dāng)前應(yīng)用程序?qū)仢M整個(gè)屏幕。用戶最常見(jiàn)的應(yīng)用程序就是應(yīng)用的主頁(yè)(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)類(lèi)似瀏覽器的網(wǎng)頁(yè)瀏覽歷史功能一樣,用戶可以使用后退按鈕返回到上一個(gè)應(yīng)用屏幕。
在Android內(nèi)部,每個(gè)用戶界面代表一個(gè)活動(dòng)類(lèi)(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開(kāi)發(fā)判斷一個(gè)app應(yīng)用是否在運(yùn)行的方法詳解
相關(guān)文章
Android開(kāi)發(fā)中的Surface庫(kù)及用其制作播放器UI的例子
這篇文章主要介紹了Android開(kāi)發(fā)中的Surface庫(kù)及用其制作播放器界面的例子,利用SurfaceView和SurfaceHolder可以高效地繪制和控制圖形界面,需要的朋友可以參考下2016-04-04
Android利用懸浮按鈕實(shí)現(xiàn)翻頁(yè)效果
這篇文章主要介紹了Android利用懸浮按鈕實(shí)現(xiàn)翻頁(yè)效果的相關(guān)資料,需要的朋友可以參考下2015-12-12
Android自定義View實(shí)現(xiàn)點(diǎn)贊控件
這篇文章主要介紹了Android自定義View實(shí)現(xiàn)點(diǎn)贊控件,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2019-11-11
Android實(shí)現(xiàn)上拉加載更多ListView(PulmListView)
這篇文章主要介紹了Android實(shí)現(xiàn)上拉加載更多ListView:PulmListView,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2016-09-09
Android編程ViewPager回彈效果實(shí)例分析
這篇文章主要介紹了Android編程ViewPager回彈效果,以實(shí)例形式較為詳細(xì)的分析了ViewPager回彈效果的相關(guān)使用技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下2015-10-10
Android自定義View實(shí)現(xiàn)隨機(jī)數(shù)驗(yàn)證碼
這篇文章主要為大家詳細(xì)介紹了Android如何利用自定義View實(shí)現(xiàn)隨機(jī)數(shù)驗(yàn)證碼效果,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以了解一下2022-06-06

