亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 系統 > Android > 正文

Android中的Activity生命周期總結

2020-04-11 11:38:46
字體:
來源:轉載
供稿:網友

概述

有圖有真相,所以先上圖:

上圖是從Android官網截下的Activity的生命周期流程圖,結構非常清晰,它描述了Activity在其生命周期中所有可能發生的情況以及發生的先后順序,下面就將結合此圖詳細介紹一下Activity的生命周期。

Activity四大基本狀態

Activity生命周期一般分為四個基本狀態,分別是活動狀態(running),暫停狀態(paused),停止狀態(stopped)和死亡狀態。

1.活動狀態(running)

活動狀態一般是指該Activity正處于屏幕最顯著的位置上顯示,即該Activity是在Android活動棧的最頂端。
一般地當Activity 創建后就是處于該狀態中。
期間觸發的函數及順序為: onCreate() ->onStart() -> onResume()。
其中:
onCreate()只有在該Activity是第一次被創建時才會被調用,主要是負責Activity的一般性的初始化設置,包括視圖的創建,數據的綁定等等。需要注意的是若之前有凍結的state(即系統對該Activity調用過onSaveInstanceState()函數),則可以通過其 Bundle 參數進行state恢復。
onStart()是當Activity正在變為可見狀態時才會被調用。一般地在此期間可以注冊一個廣播等等。
onResume()是在該Activity將要和用戶進行交互時被調用,此時Activity位于的活動棧頂部。

2.暫停狀態(paused)

暫停狀態一般指該Activity已失去了焦點但仍然是可見的狀態(包括部分可見)。一個處于暫停狀態的Activity只有在系統極度缺乏內存資源的情況下才會被系統強制結束。
運行狀態到暫停狀態所觸發的函數及順序為:onResume() -> onPuased()。
暫停狀態恢復至運行狀態所觸發的函數及順序為:onPuased() -> onResume()。
其中:
onPuased()是當一個Activity失去系統焦點后將會被調用,包括見面被部分遮擋,以及設備轉入休眠狀態等等。一般地在此期間對一些未保存的數據進行持久化并停止其他需要耗費CPU的操作,同時不可進行耗時操作,否則會阻塞系統UI線程。

3.停止狀態(stopped)

停止狀態一般指該Activity被另一個Activity完全覆蓋的狀態,這是它仍然保持所有的狀態,但是由于該Activity變得不可見,所以系統經常會由于內存不足而將該Activity強行結束。
暫停狀態到停止狀態所觸發的函數及順序為:onPuased() -> onStop()。
停止狀態恢復至運行狀態所觸發的函數及順序為:onStop() -> onRestart() -> onStart() -> onResume()。
其中:
onStop()是當一個Activity變為不可見時將會被調用,此時可能是由于該Activity要被注銷或新的Activity完全遮擋了該Activity。在此期間一般可以進行取消注冊廣播等操作,因為用戶不可見。
onRestart()是當一個Activity從停止狀態恢復至運行狀態時將會被優先調用。

4.死亡狀態

死亡態是指該Activity被系統銷毀。當一個Activity處于暫停狀態或停止狀態時就隨處可能進入死亡狀態,因為系統可能因內存不足而強行結束該Activity。
停止狀態到死亡狀態分為兩種情況:(1)由用戶操作導致,則執行:onStop() -> onDestroy()。(2)由系統自動強制執行,則該Activity被強行結束。
其中:
onDestroy()是當一個Activity正在被系統finished期間被調用的。

Activity七大生命周期函數

Activity一共有七個生命周期函數,分別為onCreate(),onRestart(),onStart(),onReusme(),onPause(),onStop(),onDestory()。它們的被調用的情況以及作用已在上一段中進行了相關的介紹分析,在此就不再贅述。
其實在一個Activity整個生命周期中上述七大生命周期函數并不是一定都會被執行的,有時由于系統內存不足的緣故,部分生命周期函數將會被跳過不執行。
一般地onCreate(),onRestart(),onStart(),onReusme()這四個函數是不能被系統跳過不執行的,而onDestory()函數在系統內存不足時,該函數將直接被系統跳過不執行。
onPause()函數比較特殊,即使在系統內存不足時,也一定會執行完該函數后其Activity才會被強制結束,原因是下一個Activity在等到該函數結束前前是不會繼續進行。所以該函數常常用于對數據的持久化操作,同時也禁止進行任何耗時的操作。
onStop()函數則最為特殊,當Android的運行環境為HONEYCOMB即3.0之前的版本時,onStop()函數是可以被系統跳過不執行的。但是在HONEYCOMB即3.0之后的版本,onStop()函數和onPause()函數一樣不能被跳過不執行。


切換橫豎屏觸發的生命周期事件

1.不設置Activity的android:configChanges時,切屏會重新調用各個生命周期,切橫屏時會執行一次,切豎屏時會執行兩次。
2.設置Activity的android:configChanges=”orientation”時,切屏還是會重新調用各個生命周期,切橫、豎屏時只會執行一次。
3.在Android3.2之前,設置Activity的android:configChanges=”orientation|keyboardHidden”時,切屏不會重新調用各個生命周期,只會執行onConfigurationChanged方法。但在Android3.2及其之后,仍會重新調用各個生命周期一次,因為screen size也開始跟著設備的橫豎切換而改變。
4.Android3.2及其之后,設置Activity的android:configChanges=”orientation|keyboardHidden|screenSize“,切屏不會重新調用各個生命周期,只會執行onConfigurationChanged方法。

總結

關于Android中四大組件之一Activity的生命周期簡介就先寫到這里了,其實還有很多方面沒介紹到,例如對于onSaveInstanceState()函數和onRestoreInstanceState()函數的用法以及與onPause()函數間的區別都沒涉及,下次有機會再好好總結,不行了實在是困死了,最后若本文有所疏忽及不當之處歡迎大家指正。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
亚洲欧美另类国产| 久久精品国产综合| 国产精品香蕉av| 精品偷拍各种wc美女嘘嘘| 成人a视频在线观看| 久久精品一区中文字幕| 777国产偷窥盗摄精品视频| 91黄色8090| 国产成人精品久久亚洲高清不卡| 91在线观看免费高清完整版在线观看| 欧美日韩激情网| 国产精品久久久久久久久粉嫩av| 精品国产一区二区三区在线观看| 亚洲人成免费电影| 日韩中文第一页| 久久久久久久久久av| www.久久撸.com| 91色p视频在线| 欧美激情精品久久久久久黑人| 国产精品十八以下禁看| 高清视频欧美一级| 久久精品国亚洲| 国产精品美女网站| wwwwwwww亚洲| 成人精品aaaa网站| 国产成人一区二区三区| 久久国产精品久久久久久| 高清欧美性猛交| 亚洲欧美综合v| 亚洲精品欧美一区二区三区| 国产欧美日韩丝袜精品一区| 国产精品久久久999| 亚洲图片在区色| 色综合久久精品亚洲国产| 欧美一级大片视频| 性色av一区二区三区在线观看| 亚洲成人动漫在线播放| 国产99久久精品一区二区永久免费| 国产伦精品免费视频| www.欧美视频| 久久久av免费| 中文字幕日本欧美| 欧美激情啊啊啊| 欧美日韩亚洲网| 日韩小视频在线| 欧美亚洲视频在线观看| 国产午夜精品美女视频明星a级| 国产精品久久久久久久7电影| 久久精品视频一| 欧美国产精品人人做人人爱| 欧美性少妇18aaaa视频| 亚洲男人天堂视频| 亚洲精品久久久久国产| 欧美激情videos| 韩国国内大量揄拍精品视频| 久久这里只有精品视频首页| 亚洲一区二区三区sesese| 这里只有精品在线观看| 欧美性受xxxx白人性爽| 国产精品一区电影| 国产精品日韩电影| 日韩一区二区欧美| 97超碰蝌蚪网人人做人人爽| 日韩福利视频在线观看| 国产成人av网址| 欧美激情精品久久久| 亚洲激情电影中文字幕| 亚洲男人的天堂在线播放| 狠狠躁天天躁日日躁欧美| 亚洲国产精品va在看黑人| 热草久综合在线| 欧美亚洲另类激情另类| 久久不射热爱视频精品| 欧洲精品久久久| 国产一区二区三区18| 中文字幕亚洲欧美一区二区三区| 亚洲国产精品字幕| 成人福利在线视频| 97在线视频一区| 国产亚洲一区二区精品| 国产精品美女久久久久av超清| 成人黄色免费看| 日韩久久免费电影| 一本久久综合亚洲鲁鲁| 久久伊人免费视频| 久久视频国产精品免费视频在线| 亚洲欧洲国产伦综合| 色综合影院在线| 九九九久久久久久| 久久久人成影片一区二区三区| 奇门遁甲1982国语版免费观看高清| 欧美精品在线免费播放| 97国产成人精品视频| 国产日韩欧美91| 国产日韩精品一区二区| 欧美二区在线播放| 欧美成人小视频| 欧美大片在线影院| 最新国产成人av网站网址麻豆| 亚洲色图第三页| 色爱av美腿丝袜综合粉嫩av| 国产亚洲美女精品久久久| 亚洲精品第一国产综合精品| 欧美日本黄视频| 51ⅴ精品国产91久久久久久| 91社区国产高清| 久久久综合av| 日本不卡视频在线播放| 91国自产精品中文字幕亚洲| 欧美日韩日本国产| 国产精品盗摄久久久| 日韩成人在线视频观看| 日本免费在线精品| 亚洲国产一区二区三区四区| 中文字幕亚洲字幕| 国产成人一区二区三区小说| 欧美日韩xxxxx| 亚洲欧美激情另类校园| 日韩视频精品在线| 精品国产美女在线| 国产97色在线| 国产精品视频不卡| 尤物yw午夜国产精品视频明星| 亚洲日韩欧美视频一区| 中文字幕在线看视频国产欧美| 欧美一级大片在线观看| 成人免费视频xnxx.com| 色噜噜国产精品视频一区二区| 精品视频久久久久久久| 情事1991在线| 久久久精品视频在线观看| 久久久之久亚州精品露出| 午夜精品久久久久久久久久久久| 97热在线精品视频在线观看| 2019中文字幕全在线观看| 中文字幕精品—区二区| 亚洲小视频在线观看| 色综合久久中文字幕综合网小说| 麻豆精品精华液| 26uuu国产精品视频| 欧美性猛交xxx| 久久久精品一区二区三区| 国产精品久久久999| 国产一区二区三区丝袜| 亚洲一区二区久久久久久| 日韩视频在线一区| 欧美成人免费在线视频| 欧美在线播放视频| 日韩精品小视频| 精品激情国产视频| 日韩av片电影专区| 国产精品欧美久久久| 久久久久久久久久av| 日韩高清电影免费观看完整| 久久国内精品一国内精品| 欧美性极品少妇精品网站| 琪琪亚洲精品午夜在线| 国产精品jvid在线观看蜜臀| 久久国产加勒比精品无码| 久久精品成人欧美大片| 国产精品久久久久久久久久久久久| 正在播放欧美一区| 久久久久久噜噜噜久久久精品| 国产精品免费福利|