日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

安卓活动(Activity)和碎片(Fragment)的生命周期

發布時間:2023/12/9 编程问答 57 豆豆
生活随笔 收集整理的這篇文章主要介紹了 安卓活动(Activity)和碎片(Fragment)的生命周期 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

引言

對于安卓中生命周期的過程以及相應的事件的了解是非常重要的。


活動(Activity)的生命周期

Activity 類中定義了七個事件回調方法,與Activity生命周期的每一個環節對應。

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

2. onStart()
這個方法在活動由不可見變為可見的時候調用。

3. onResume()
這個方法在活動準備好和用戶進行交互的時候調用。此時的活動一定位于返回棧的棧頂,并且處于運行狀態。

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

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

6. onDestroy()
這個方法在活動被銷毀之前調用,之后活動的狀態將變為銷毀狀態。

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

完整生存期:活動在onCreate()方法和onDestroy()方法之間所經歷的,就是完整生存期。一般情況下,一個活動會在onCreate()方法中完成各種初始化操作,而在onDestroy()方法中完
成釋放內存的操作。

可見生存期:活動在onStart()方法和onStop()方法之間所經歷的,就是可見生存期。在可見生存期內,活動對于用戶總是可見的,即便有可能無法和用戶進行交互。我們可以通過這兩個方法,合理地管理那些對用戶可見的資源。比如在onStart()方法中對資源進行加載,而在onStop()方法中對資源進行釋放,從而保證處于停止狀態的活動不會占用過多內存。

前臺生存期:活動在onResume()方法和onPause()方法之間所經歷的,就是前臺生存期。在前臺生存期內,活動總是處于運行狀態的,此時的活動是可以和用戶進行相互的,我們平時看到和接觸最多的也這個狀態下的活動。


碎片(Fragment)的生命周期

1. 運行狀態
當一個碎片是可見的,并且它所關聯的活動正處于運行狀態時,該碎片也處于運行狀態。

2. 暫停狀態
當一個活動進入暫停狀態時(由于另一個未占滿屏幕的活動被添加到了棧頂),與它相關聯的可見碎片就會進入到暫停狀態。

3. 停止狀態
當一個活動進入停止狀態時,與它相關聯的碎片就會進入到停止狀態。或者通過調用FragmentTransaction 的remove()、replace()方法將碎片從活動中移除,但有在事務提交之前調用addToBackStack()方法,這時的碎片也會進入到停止狀態。總的來說,進入停止狀態的碎片對用戶來說是完全不可見的,有可能會被系統回收。

4. 銷毀狀態
碎片總是依附于活動而存在的,因此當活動被銷毀時,與它相關聯的碎片就會進入到銷毀狀態?;蛘咄ㄟ^調用FragmentTransaction 的remove()、replace()方法將碎片從活動中移除,但在事務提交之前并沒有調用addToBackStack()方法,這時的碎片也會進入到銷毀狀態。

常用回調事件方法

onAttach()
當碎片和活動建立關聯的時候調用。

onCreateView()
為碎片創建視圖(加載布局)時調用。

onActivityCreated()
確保與碎片相關聯的活動一定已經創建完畢的時候調用。

onDestroyView()
當與碎片關聯的視圖被移除的時候調用。

onDetach()
當碎片和活動解除關聯的時候調用。

部分內容參考自《第一行代碼——Android》


博客名稱:王樂平博客

博客地址:http://blog.lepingde.com

CSDN博客地址:http://blog.csdn.net/lecepin



總結

以上是生活随笔為你收集整理的安卓活动(Activity)和碎片(Fragment)的生命周期的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。