天天看點

Activity生命周期(1)

<b>Activity</b><b>生命周期:</b>

    一個activity主要有三個狀态:

               · 當在螢幕前台時(位于目前任務堆棧的頂部),它是活躍或運作的狀态。它就是相應使用者操作的activity。 

               · 當它失去焦點但仍然對使用者可見時,它處于暫停狀态。即是:在它之上有另外一個activity。這個activity也許是透明的,或者未能完全遮蔽全屏,是以被暫停的activity仍            對使用者可見。暫停的activity仍然是存活狀态(它保留着所有的狀态和成員資訊并連接配接至視窗管理器),但當系統處于極低記憶體的情況下,仍然可以殺死這 個activity。

              · 如果它完全被另一個activity覆寫是,它處于停止狀态。它仍然保留所有的狀态和成員資訊。然而它不在為使用者可見,是以它的視窗将被隐藏,如果其它地方需要記憶體,則               系統經常會殺死這個activity。

               如果一個activity處于暫停或停止狀态,系統可以通過要求它結束(調用它的 finish() 方法)或直接殺死它的程序來将它驅出記憶體。當它再次為使用者可見的時候,它隻能完全重新啟動并恢複至以前的狀态。

當一個activity從這個狀态轉變到另一個狀态時,它被以下列protected方法所通知:

           void onCreate(Bundle savedInstanceState) 

           void onStart() 

           void onRestart() 

           void onResume() 

           void onPause() 

           void onStop() 

           void onDestroy()

         你可以重載所有這些方法以在狀态改變時進行合适的工作。所有的activity都必須實作 ONCreate() 用以當對象第一次執行個體化時進行初始化設定。很多情況下我在activity會中實作 onPause()以送出資料變化或準備停止與使用者的互動。