《第一行代码》学习笔记9-活动Activity(7)
1.發(fā)現(xiàn)Android中的活動是可以層疊的,每啟動一個新的活動,就會覆蓋在原活動之上,
然后點擊Back鍵會銷毀最上面的活動,下面的一個活動就會重新顯示出來。
2.Android是使用任務(wù)來管理活動的。一個任務(wù)就是一組存放在棧里的活動的集合,該棧
被稱為返回棧(Back Stack)。棧是一種后進先出的的數(shù)據(jù)結(jié)構(gòu)。
3.默認情況下,每啟動一個新活動,會在返回棧中入棧,處于棧頂->每按下Back鍵或
調(diào)用finish()方法去銷毀一個活動時,處于棧頂?shù)幕顒訒鰲?#xff0d;>前一個入棧的活動就會
重新處于棧頂?shù)奈恢谩O到y(tǒng)總是會顯示處于棧頂?shù)幕顒咏o用戶。
4.活動狀態(tài):每個活動在其生命周期中最多有4種狀態(tài)。
(1)運行狀態(tài):活動位于返回棧的棧頂
(2)暫停狀態(tài):活動不再處于棧頂,仍然可見。因為并不是每個活動都是占滿整個屏幕
的,比如對話框形式的活動只會占用屏幕中間的部分區(qū)域。處于暫停狀態(tài)的活動完全存活。
##只有在內(nèi)存極低的情況下,系統(tǒng)才會考慮回收這種活動。
(3)停止?fàn)顟B(tài):活動不再處于棧頂,且完全不可見。系統(tǒng)仍然會為這種活動保存相應(yīng)的
狀態(tài)和成員變量。并不完全可靠,其他地方需要內(nèi)存時,處于停止?fàn)顟B(tài)的活動有可能會被
系統(tǒng)回收。
(4)銷毀狀態(tài):從返回棧中移除就變成銷毀狀態(tài)。系統(tǒng)最傾向于回收這種狀態(tài)的活動,
從而保證手機的內(nèi)存充足。
5.活動的生存期:Activity類中定義了七個回調(diào)方法,覆蓋了活動生命周期的每一個環(huán)節(jié)。
(1)onCreate():每個活動都重寫這個方法,會在活動第一次被創(chuàng)建時被調(diào)用。在該方法
中完成活動的初始化操作,如加載布局,綁定事件等。
(2)onStart():在活動由不可見變?yōu)榭梢姇r調(diào)用。
(3)onResume():在活動準備好和用戶進行交互的時候調(diào)用,此時活動處于運行狀態(tài)。
(4)onPause():在系統(tǒng)準備去啟動或者恢復(fù)另一個活動時調(diào)用。通常在這個方法中將一些
消耗CPU的資源釋放掉,以及保存一些關(guān)鍵數(shù)據(jù)。但這個方法執(zhí)行速度一定要快,不然會影
響到新的棧頂活動的使用。
(5)onStop():在活動完全不可見的時候調(diào)用。它和onPause()的主要區(qū)別在于,如果啟動
的新活動是一個對話框式,則onPause()會執(zhí)行,而onStop()并不會執(zhí)行。
(6)onDestroy():在活動被銷毀之前調(diào)用,之后活動狀態(tài)將變?yōu)殇N毀狀態(tài)。
(7)onRestart():在活動由停止?fàn)顟B(tài)變?yōu)檫\行狀態(tài)之前調(diào)用,即活動重新啟動了。
轉(zhuǎn)載于:https://www.cnblogs.com/Iamasoldier6/p/5006836.html
總結(jié)
以上是生活随笔為你收集整理的《第一行代码》学习笔记9-活动Activity(7)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: (软件工程复习核心重点)第三章需求分析-
- 下一篇: Delphi 7下使用VT实现树型列表结