Android之各生命週期
onCreate : 該方法是在Activity被建立時回撥,它是生命週期第一個呼叫的方法,我們在建立Activity時一般都需要重寫該方法,然後在該方法中做一些初始化的操作,如通過setContentView設定介面佈局的資源,初始化所需要的元件資訊等。
onStart : 此方法被回撥時表示Activity正在啟動,此時Activity已處於可見狀態,只是還沒有在前臺顯示,因此無法與使用者進行互動。可以簡單理解為Activity已顯示而我們無法看見擺了。
onResume : 當此方法回撥時,則說明Activity已在前臺可見,可與使用者互動了,onResume方法與onStart的相同點是兩者都表示Activity可見,只不過onStart回撥時Activity還是後臺無法與使用者互動,而onResume則已顯示在前臺,可與使用者互動。當然從流程圖,我們也可以看出當Activity停止後(onPause方法和onStop方法被呼叫),重新回到前臺時也會呼叫onResume方法,因此我們也可以在onResume方法中初始化一些資源,比如重新初始化在onPause或者onStop方法中釋放的資源。
onPause : 此方法被回撥時則表示Activity正在停止(Paused形態),一般情況下onStop方法會緊接著被回撥。但通過流程圖我們還可以看到一種情況是onPause方法執行後直接執行了onResume方法,這屬於比較極端的現象了,這可能是使用者操作使當前Activity退居後臺後又迅速地再回到到當前的Activity,此時onResume方法就會被回撥。當然,在onPause方法中我們可以做一些資料儲存或者動畫停止或者資源回收的操作,但是不能太耗時,因為這可能會影響到新的Activity的顯示——onPause方法執行完成後,新Activity的onResume方法才會被執行。
onStop : 一般在onPause方法執行完成直接執行,表示Activity即將停止或者完全被覆蓋(Stopped形態),此時Activity不可見,僅在後臺執行。同樣地,在onStop方法可以做一些資源釋放的操作(不能太耗時)。
onRestart :表示Activity正在重新啟動,當Activity由不可見變為可見狀態時,該方法被回撥。這種情況一般是使用者開啟了一個新的Activity時,當前的Activity就會被暫停(onPause和onStop被執行了),接著又回到當前Activity頁面時,onRestart方法就會被回撥。
onDestroy :此時Activity正在被銷燬,也是生命週期最後一個執行的方法,一般我們可以在此方法中做一些回收工作和最終的資源釋放。
相關文章
- Android全面解析之Activity生命週期Android
- Android Activity生命週期Android
- Android知識重溫之生命週期Android
- Android 之 Activity 生命週期淺析(一)Android
- 初識Android之Activity的生命週期Android
- Android 之 Activity 生命週期的淺析(二)Android
- vue系列之生命週期Vue
- react之元件生命週期React元件
- [Android]Activity的生命週期Android
- Android MediaPlayer的生命週期Android
- Android Activit生命週期方法Android
- android:碎片的生命週期Android
- 品牌生命週期和產品生命週期之間的關係
- Android Service生命週期淺析Android
- Android Fragment生命週期深入探究AndroidFragment
- Android 元件系列-----Activity生命週期Android元件
- Android Activity生命週期詳解Android
- Android程式生命週期ProcessLifecycleAndroid
- 生命週期
- Spring之Bean的生命週期SpringBean
- Android 監聽生命週期工具庫Android
- Flutter仿Android生命週期LifecycleStateFlutterAndroid
- Android View的生命週期詳解AndroidView
- Android中元件生命週期完全解析Android元件
- Android 程式生命週期 Process LifecycleAndroid
- View生命週期與Activity生命週期的關係View
- Android之Activity介面跳轉--生命週期方法呼叫順序Android
- Spring Bean各階段生命週期的介紹SpringBean
- PHP 生命週期PHP
- Flutter - 生命週期Flutter
- sessionStorag 生命週期Session
- Fragment生命週期Fragment
- Activity生命週期
- vue - 生命週期Vue
- React生命週期React
- ubuntu生命週期Ubuntu
- React 生命週期React
- vue生命週期Vue