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