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

熱點內容
數據加密升級 瀏覽:164
移動設備網頁源碼 瀏覽:702
做程序員幾年了感覺都是在做業務 瀏覽:68
移動魔白盒伺服器地址 瀏覽:348
linuxapache狀態 瀏覽:298
華為伺服器准系統是什麼 瀏覽:236
word壓縮所有圖片大小 瀏覽:389
php求平均值 瀏覽:118
焊錫單片機 瀏覽:917
自由程序員如何賺錢 瀏覽:682
手機pdf閱讀器哪個好 瀏覽:25
命令行插件 瀏覽:111
安卓手機沒有呼吸燈怎麼看消息 瀏覽:751
雜訊檢測app哪個好 瀏覽:812
androidapp生命周期 瀏覽:344
小眾搭配app哪個好用 瀏覽:825
奧特佳電動空調壓縮機 瀏覽:596
用什麼編譯器看nginx源碼 瀏覽:333
java中局部變數 瀏覽:821
雲伺服器命令行復制文件 瀏覽:400