標籤:use service 大小 停止 狀態 點擊 pause 生命週期 運行
Activity是Android組件中最基本也是最為常見用的四大組件(Activity,Service服務,Content Provider內容提供者,BroadcastReceiver廣播接收器)之一。
Activity的概念:
Activity它的本質上其實就是一個表單,如我們開啟軟體它呈現在你眼前的都只是一個表單而已。它可以與使用者進行互動的基本的圖形呈現單元。
不同的是Activity它是沒有最小化這種概念的。在Windows平台有最大化的概念,在蘋果平台的表單也是沒有最大化的概念,只有調整表單大小的概念
Activity的三種狀態:
我們隨便開啟一個應用程式
這個時候我們看到的是撥號的這個Activity對吧。(運行狀態) 我們點擊Home鍵。
當我們點擊回到案頭的時候,撥號的那個Activity就看不到了,這個時候就屬於(停止狀態)
然後我們長按Home鍵
那麼此時我們後面的那個Activity就是(暫停狀態)
Activity生命週期:
那麼生命週期呢,我們來開啟一個網站Activity生命週期圖,接著,我們拿到這張圖,我來給你們講解一下運行流程。
1.第一步呢這個Activitylaunched被啟動,被啟動之後首先會執行一個onCreate()方法,然後呢執行一個onStart()方法。再之後呢再執行一個onResume()方法,
2.只有在onResume執行之後,Activity才會處於運行狀態。之後呢我們可以看到Activityrunning就是另外一個Activity會跑到我們的前面,
3.我們當前的Activity會執行一個onPause()回調方法。再往下呢如果我們的Activity處於不可見的狀態,也就是停止狀態,會執行一個onStop()這樣一個回調方法。
4.如果說一個Activity處於暫停狀態和停止狀態之後呢,我們往左邊看這個流程。如果有其他優先順序更高的應用程式,它需要記憶體的話。我們的作業系統會把我們的Activity殺死掉。此時我們的應用程式也就會完全的被停止,記憶體被釋放。然後供我們一些記憶體更高的優先順序應用程式使用。如果說什麼時候使用者重新的去導航到我們擋牆Activity的話,那麼它會重新的執行我們的onCreate()方法。就是這樣的一個流程。
5.那麼如果說一個應用程式處於一個暫停狀態。比如我們上面的打電話程式。我們長按Home鍵,然後我們又回來,使用者又重新回來我們的撥號頁面。它會重新執行我們的方法onResume()方法。
6那麼如果一個應用程式處於一個Stop狀態。然後使用者又重新導航到我們的程式,它會執行一個onStop()方法。在這裡我們要注意一點:如果我們的Activity所在的應用程式,沒有被銷毀的話。從暫停狀態重新執行到運行狀態會重新執行onRestart()方法。然後再執行onStart(),然後再執行onResume()這樣的一個流程。
7.那麼onDestroy()這個方法是在什麼時候被執行呢? onDestroy()這個方法也就是說在Activity被系統給銷毀的時候會執行onDestroy()方法,在onDestroty()方法執行完畢之後,我們的這個應用程式就徹底的被關閉了。
這就是Activity的生命週期了。
Activity詳解生命週期(Android)