導航:首頁 > 操作系統 > 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生命周期相關的資料

熱點內容
大企業用什麼郵箱伺服器 瀏覽:641
最新追劇達人影視源碼 瀏覽:340
電腦u盤加密時很卡 瀏覽:902
三階行列式遞歸式演算法 瀏覽:611
視頻製作pr是什麼app 瀏覽:991
伺服器被ddos攻擊是什麼意思 瀏覽:428
元經Pdf 瀏覽:576
怎麼訪問文件共享伺服器 瀏覽:817
怎麼評價scut伺服器 瀏覽:817
怎麼區分物理伺服器 瀏覽:740
安卓開發板能幹什麼 瀏覽:361
程序員學五筆 瀏覽:316
linux編程下載文件 瀏覽:6
java基礎面試編程題 瀏覽:464
linux數學計算 瀏覽:775
android手機電腦同步 瀏覽:289
簡明python教程書在線觀看 瀏覽:744
理想論壇多空出擊指標源碼 瀏覽:685
擴散更新演算法 瀏覽:557
當代大學德語pdf 瀏覽:506