Android Fragment系列學習筆記之二

來源:互聯網
上載者:User

1、Fragment生命週期
Fragment是不能單獨的顯示在手機上的,它只能在Activity裡面顯示。當Activity載入的時候,第一次執行onCreate()方法。

用一句話概括Fragment的生命週期即:

Fragment首先需要建立對象(即執行個體化對象),然後要載入布局,接著開始運行。在Activity建立的時候,Fragment中的元素也跟著建立,當Activity被消毀時,Fragment的整個生命週期也就結束了。

下列圖片列出的是Activity與Fragment相對應的生命週期方法:

<喎?http://www.bkjia.com/kf/ware/vc/" target="_blank" class="keylink">vcD4KPHAgYWxpZ249"center">

2、Activity生命週期與Fragment生命週期的關聯關係。

Activity生命週期的結束是在Activity中所有的Fragment結束生命週期之後才結束的。即所有的Fragment消毀之後,Acivity自己才消毀。


3、onCreate()與onCreateView()有什麼區別?


主要區別在於,在onCreate()方法中是不可以更新UI介面的,因為此時布局還沒有被建立,因此Fragment中的UI對象就擷取不到,擷取不到UI對象就無法更新介面。


4、Fragment生命週期概述


Fragment的生命週期大部分類似於Activity的生命週期。Fragment與Activity存在三種同樣的生命週期:


(1)onResumed:表示在Activity的運行中是可見的。 (2)onPaused:表示其他的Activity變成了前景,即獲得了焦點。 (3)stoped:表示不可見的,即當Activity不可見的時候,Fragment也是不可見的。可能出現的情況是,Activity的狀態是stoped狀態,第二個是Fragment從Activity上移除,並且將Fragment添加到回退棧當中,那麼這個Fragment也是處於暫停狀態的。但是有一點,停止狀態的Fragment仍然活著。所有狀態的成員資訊一直都會保持著。但是長時間處於不可見的話,有可能會被Activity殺掉。


總的來說,Fragment的生命週期會直接被Activity的生命週期所影響。例如當Activity中調用onPause()方法,那麼處於Activity中的每一個Fragment都會調用onPause()方法。


注意: (1)、onCreate()方法僅僅只會調用一次。 (2)、更新UI應該是在onCreateView()方法中去更新。絕對不能在onCreate()方法當中去更新,因為這個方法執行到裡這的時候,UI對象無法擷取。 (3)、當Activity的狀態處於onStart(),onResumed(),onPause(),onStoped()時,它裡面所有的Fragment與Activity此時的狀態都是一樣的。 (4)、消毀時,Fragment先消毀View,然後再自己消毀,最後脫離Activity (5)、onAttach表示已經關聯上Activity,如果需要傳值,則可以在Fragment的onAttach()方法中進行傳遞。 (6)、 onActivityCreated():表示當Activity的onCreate()方法返回時調用。 (7)、onDestroyView():是表示Fragment的View已經被移除了。 (8)、 onDetach()是Fragment脫離Activity。 當Activity接收onCreate()狀態時,這個Fragment在Activity當中來說就只會調用onActivityCreated()方法。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.