天天看點

Android-Activity生命周期的了解

首先經典圖

Android-Activity生命周期的了解

以下說說自己的了解

如果從順序上來說的話,Activity的生命周期為onCreate()、onStart()、onResume()、onPause()、onStop()、onDestroy()。

接下來分析兩個Activity互動的時候生命周期是怎麼樣的

當A Activity調用onResume()方法進入一個”運作“的狀态的時候,有一個B Activity進入了,那麼此時A Activity就會調用onPause()方法,然後A Activity進入一個“暫停”狀态,如果B Activity沒有完全把A Activity覆寫的話,那A Activity将繼續處于“暫停”的狀态,當B Activity消失後,A Activity将重新調用onResume()方法然後進入“運作”的狀态;那如果是B Activity将A Activity完全覆寫了,A Activity在調用了onResume()方法後将繼續調用onStop()方法,然後A Activity機會進入“停止”狀态,如果此時B Activity消失了,那A Activity将調用onReStart()方法,然後調用onStart()方法,繼而調用onResume()方法重新進入“運作”狀态。

當一個Activity處于“暫停”或是“停止”的狀态的時候,另外的應用程式需要記憶體,而且記憶體不夠用的話,那麼此時Activity就會被回收。

當Activity被鎖屏的時候,系統會調用onPause()方法,進入“暫停”狀态。

當按Home鍵回到主屏的時候,系統會調用onPause()方法,然後調用onStop()方法,進入”停止”狀态。

當使用者退出Activity時,系統會調用onPause()方法 ,然後調用onStop()方法,最後調用onDestroy( )方法,結束目前的Activity。