導航:首頁 > 操作系統 > androidapp生命周期

androidapp生命周期

發布時間:2024-12-17 14:45:53

『壹』 如何管理android中Activity的生命周期

管理Android中Activity的生命周期

在一個activity的生命周期中,系統會像金字塔模型一樣去調用一系列的生命周期回調函數。Activity生命周期的每一個階段就像金字塔中的台階。當系統創建了一個新的activity實例,每一個回調函數會向上一階移動activity狀態。處在金字塔頂端意味著當前activity處在前台並處於用戶可與其進行交互的狀態。

當用戶退出這個activity時,為了回收該activity,系統會調用其它方法來向下一階移動activity狀態。在某些情況下,activity會隱藏在金字塔下等待(例如當用戶切換到其他app),此時activity可以重新回到頂端(如果用戶回到這個activity)並恢復用戶離開時的狀態。

根據activity的復雜度,也許不需要實現所有的生命周期方法。但了解每一個方法的回調時機並在其中填充相應功能,使得確保app能夠像用戶期望的那樣執行是很有必要的。如何實現一個符合用戶期待的app,我們需要注意下面幾點:

使用app的時候,不會因為有來電通話或者切換到其他app而導致程序crash。

只有三個狀態是靜態的,這三個狀態下activity可以存在一段比較長的時間。(其它幾個狀態會很快就切換掉,停留的時間比較短暫)

Resumed:該狀態下,activity處在前台,用戶可以與它進行交互。(通常也被理解為"running" 狀態)

Paused:該狀態下,activity的部分被另外一個activity所遮蓋:另外的activity來到前台,但是半透明的,不會覆蓋整個屏幕。被暫停的activity不再接受用戶的輸入且不再執行任何代碼。

Stopped:該狀態下, activity完全被隱藏,對用戶不可見。可以認為是在後台。當stopped, activity實例與它的所有狀態信息(如成員變數等)都會被保留,但activity不能執行任何代碼。

『貳』 Android基礎之Activity生命周期

     Activity是Android最常用的四大組件之一,Activity是Android應用中與用戶交互的界面,通常一個activity就是一個屏幕,Activity一共有四種狀態,Active/Running(當Activity可見且可以與用戶交互);Paused(當Activity可見但是不可交互);Stoped(當Activity被完全覆蓋不可見);Killed(當Activity被系統從內存中刪除).其生命周期如下圖:

相關方法及作用:

1 onCreate:當Activity創建時僅且調用一次,該方法主要適用於初始化頁面。

2 onStart:當Activity調用onCreate方法之後,然後調用此方法開啟Activity,Activty此時可見但不可交互。

3 onResume:此時Activity在前台可見且可與用戶交互。適合做UI更新操作。

4 onPouse:當Activity被另外一個Activity覆蓋時調用該方法。

5 onStop:當Activity在前台不可見或者Activity在銷毀前調用此方法,此方法適合做一些資源的回收操作。

6 onDestroy:當activity被銷毀時調用此方法。

問題:

1)onCreate 和 onStart 方法的區別

  a.執行次數不同,onCreate只執行一次,而onStart可以執行多次。

  b.在activity的狀態不同,onCreate被調用時Activity的狀態還是未可見,而調用onStart時已可見。

2) onStart 和 onStop的區別

  在執行onStart或者onStop時,Activity都是不可交互的,執行onStart時Activity在前台不可見,在後台可見。而執行onStop時Activity前後台都不可見。

3)onResume 和 onPouse的區別

  在執行onResume時,Activity在前台是可見的且可以與用戶交互的。而執行onPouse時Activity在前台有可能可見,Activity沒有獲取到焦點,此時不可與用戶交互。

『叄』 關於android應用activity生命周期中,按下home鍵和按下back鍵的問題

進程只是APP的一個容器而已,這個容器空了不代表這個容器沒了,但是你把容器銷毀了,容器里的東西一樣會被銷毀,按back鍵就是後退棧做pop操作的過程(回調onbackpressed,默認實現是調用finish(),finish()方法又會去調用OnDestroy),棧頂Activity就被銷毀,所以會回調Activity的OnDestroy方法;而按home鍵是把整個任務棧掛起到後台,回到啟動器首頁,Activity並沒有銷毀。所以不會回調Activity的OnDestroy。

至於長按home鍵啟動任務管理器結束應用,進程還是存在,這個因手機而異。有些手機是銷毀這個應用(Application類的實例),進程這個容器還在,只是空了(空進程),發現進程不見了多數是因為系統回收空進程;有些手機是直接結束進程。

閱讀全文

與androidapp生命周期相關的資料

熱點內容
760貼片機編程視頻 瀏覽:333
歐姆龍plc編程第36講 瀏覽:915
我的世界如何將一個伺服器弄崩 瀏覽:8
php網站訪問量代碼 瀏覽:431
怠速壓縮機咔咔響 瀏覽:176
怎麼才能修改APP中的數據 瀏覽:688
哪裡有搶單的app 瀏覽:462
演算法概率題 瀏覽:465
長方形拉伸的命令 瀏覽:279
python代碼函數編程技術 瀏覽:194
java正則式 瀏覽:429
外包程序員好進嗎 瀏覽:384
雲伺服器服務模型架構 瀏覽:901
刪文件夾什麼指令 瀏覽:509
極速抖音已加密怎麼辦 瀏覽:603
matlab拉格朗日演算法框圖 瀏覽:430
華為公司計算機視覺演算法顧問 瀏覽:254
夏老師講的單片機 瀏覽:298
在編程中如何將圖片放大 瀏覽:163
appstore怎麼看是否付費 瀏覽:603