1. 程式人生 > >Android學習篇:Activity介紹

Android學習篇:Activity介紹

Activity是Android系統提供的一個活動基類,它是一種可以包含使用者介面的元件,我們專案中所有的活動都必須繼承它才擁有活動的特性。
Activity是由Activity棧進管理,當來到一個新的Activity後,此Activity將被加入到Activity棧頂,之前的Activity位於此Activity底部。每個Activity在其生命週期中最多有四種狀態:
執行狀態----暫停狀態/停止狀態----銷燬狀態

1.當Activity位於棧頂時,此時正好處於螢幕最前方,此時處於執行狀態;
2.當Activity失去了焦點但仍然對用於可見(如棧頂的Activity是透明的或者棧頂Activity並不是鋪滿整個手機螢幕),此時處於暫停狀態;
3.當Activity被其他Activity完全遮擋,此時此Activity對使用者不可見,此時處於停止狀態;
4.當Activity由於人為或系統原因(如低記憶體等)被銷燬,此時處於銷燬狀態;

在每個不同的狀態階段,Adnroid系統對Activity內相應的方法進行了回撥。因此,我們在程式中寫Activity時,一般都是繼承Activity類並重寫相應的回撥方法。
下面這張圖,詳細介紹了Activity的生命週期:
這裡寫圖片描述
上圖中可以看到有七個回撥方法,這些方法覆蓋了活動生命週期的每一個環節,下面我們來介紹下這七個方法:
1、onCreate( )
活動第一次建立時呼叫,每個活動中我們都會重寫這個方法。在這個方法中,我們可以完成一些初始化操作等。
2、onStart( )
在活動由不可見變為可見時呼叫。
3、onResume( )
在活動建立或者從被覆蓋、後臺重新回到前臺時被呼叫,此時的活動一定位於返回棧的棧頂,並且處於執行狀態。
4、onPause( )
在活動被另一個活動覆蓋到下面或者鎖屏時被呼叫。
5、onStop( )
退出當前Activity或者跳轉到新Activity時被呼叫(活動完全不可見時呼叫)。它和onPause( )方法的主要區別在於,如果啟動的新活動是一個對話方塊式的活動,那麼onPause()方法會得到執行,而onStop( )方法並不會執行。
6、onDestroy( )
在活動被銷燬之前呼叫。
7、onRestart( )
在活動被重啟時呼叫,此時活動由停止狀態變為執行狀態。