Android03-Activity生命週期及啟動模式

來源:互聯網
上載者:User

標籤:

1.返回棧概念

2.生命週期

      1. onCreate()

      這個方法你已經看到過很多次了,每個活動中我們都重寫了這個方法,它會在活動 第一次被建立的時候調用。你應該在這個方法中完成活動的初始化操作,比如說載入布 局、綁定事件等。

 

      2.onStart()

這個方法在活動由不可見變為可見的時候調用。

 

 

     3.onResume()

       這個方法在活動準備好和使用者進行互動的時候調用。此時的活動一定位於返回棧的棧頂,並且處於運行狀態。

     4. onPause()

       這個方法在系統準備去啟動或者恢複另一個活動的時候調用。我們通常會在這個方 法中將一些消耗 CPU 的資源釋放掉,以及儲存一些關鍵資料,但這個方法的執行速度 一定要快,不然會影響到新的棧頂活動的使用。
      5. onStop() 

       這個方法在活動完全不可見的時候調用。它和 onPause()方法的主要區別在於,如 果啟動的新活動是一個對話方塊式的活動,那麼 onPause()方法會得到執行,而 onStop() 方法並不會執行。

  1. onDestroy()

    這個方法在活動被銷毀之前調用,之後活動的狀態將變為銷毀狀態。

  2. onRestart()

    這個方法在活動由停止狀態變為運行狀態之前調用,也就是活動被重新啟動了。 

3.活動狀態 

每個活動在其生命週期中最多可能會有四種狀態。

  1. 運行狀態 

當Activity在前台顯示的時候,Activity處於active狀態或者running狀態2.paused當一個Activity失去焦點仍然可見時,該Activity處於暫停狀態(那意味著一個新的不是全屏的或者透明的Activity在這個Activity前面並獲得了焦點。)3.stopped如果一個Activity被另一個Activity完全擋住,則進入停止狀態。4.Shutdown

當一個活動從返回棧中移除後就變成了銷毀狀態。系統會最傾向於回收處於這種狀 態的活動,從而保證手機的記憶體充足。 

4.活動的啟動模式

standardsingleTopsingleTasksingleInstance

可以在 AndroidManifest.xml 中通過給<activity>標籤指定 android:launchMode 屬性來選擇啟動模式 

standard 是活動預設的啟動模式,在不進行顯式指定的情況下,所有活動都會自動使用 這種啟動模式。 

在 standard 模式(即預設情 況)下,每當啟動一個新的活動,它就會在返回棧中入棧,並處於棧頂的位置。對於使用 standard 模式的活動,系統不會在乎這個活動是否已經在返回棧中存在,每次啟動都會建立 該活動的一個新的執行個體。 

singleTop 

singleTop,在啟動活動時如果發現返回棧的棧頂已經是該活動,則認為可以直接使用 它,不會再建立新的活動執行個體。 

singleTask 

singleTask,每次啟動該活動時系統首先 會在返回棧中檢查是否存在該活動的執行個體,如果發現已經存在則直接使用該執行個體,並把在這 個活動之上的所有活動統統出棧,如果沒有發現就會建立一個新的活動執行個體。 

singleInstance 

singleInstance 模式的活動會啟用一 個新的返回棧來管理這個活動 

Android03-Activity生命週期及啟動模式

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.