七個方法

  • onCreate
    在第一次創建時呼叫,一般在這裡建立界面,做一些數據的初始化工作

  • onStart
    可見但不可作用時

  • onResume
    可見且用戶可與其作用時

  • onPause
    可見但不可作用,系統會停止動畫等消耗CPU的任務.
    應該在這裡保存你的一些數據,因為這個時候你的程序的優先級降低,有可能被系統收回.
    在這裡保存的數據,應該在onResume()
    裡讀出來.注意:這個方法裡做的事情時間要短,因為下一個activity不會等到這個方法完成才啟動變得不可見。

  • onStop
    變得不可見,被下一個Activity 覆蓋

  • onRestart
    重新可見

  • onDestroy
    摧毀Activity

生命週期圖

常見情況

  • 啟動:onCreate() —> onStart() —> onResume(),Activity進入運行狀態

  • 退至背景、當前Activity轉到新的Activity界面或按Home鍵回到主畫面:
    onPause() —> onStop(),進入停滯狀態

  • 返回前台:onRestart() —> onStart() —> onResume(),再次回到運行狀態

  • Activity退至背景,且系統記憶體不足,系統會殺死這個處於背景狀態的Activity(此時這個Activity引用仍然處在任務清單中,只是這個時候指向的對像已經為null),若再次回到這個Activity,則重新走一次Activity的初始化生命週期
    onCreate() –> onStart() —> onResume()

  • 鎖定螢幕與解鎖,只會呼叫onPause(),而不會呼叫onStop()方法,解鎖後後則呼叫onResume()

兩個Activity 之間跳轉時會執行的方法

一般情況下比如說有兩個Activity,分別叫A、B,當在A裡面啟動B的時候,

A會呼叫onPause()方法,然後B呼叫onCreate() -> onStart() -> onResume()

這個時候B覆蓋了Window,此時 A會呼叫onStop()

results matching ""

    No results matching ""