首先經典圖
![](https://img.laitimes.com/img/9ZDMuAjOiMmIsIjOiQnIsIyNxADO0cDN3EzMxUDM2EDMy8CX0Vmbu4GZzNmLn9Gbi1yZtl2Lc9CX6MHc0RHaiojIsJye.jpg)
以下說說自己的了解
如果從順序上來說的話,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。