• <noscript id="e0iig"><kbd id="e0iig"></kbd></noscript>
  • <td id="e0iig"></td>
  • <option id="e0iig"></option>
  • <noscript id="e0iig"><source id="e0iig"></source></noscript>
  • Android Activity詳解-生命周期

    標簽: Activity

    Android Activity詳解-生命周期

    Activity 的存在狀態

    running

    Activiy 位于屏幕前臺,并且具有用戶焦點

    paused

    另一個 Activity 位于屏幕前臺,并且具有用戶焦點,但此 Activity 仍然可見

    stopped

    Activity 被另一個 Activity 完全覆蓋,該 Activity 位于”后臺”

    killed

    Activity 被銷毀

    狀態 是否存在 是否可以交互 是否可見
    running
    paused
    stopped
    killed

    注:當Activity內存不足時,會首先關閉 stoped 狀態的 Activity,其次才會關閉 Paused 狀態的 Activity

    Activity 的生命周期

    正常生命周期

    正常生命周期是指:在正常情況下運行,經過用戶操作的情況下的生命周期的改變

    生命周期

    **Activity 正常啟動時**
    onCreate() -> onStart() -> onResume()
    
    **按下 Home 鍵時**
    onPause -> onStop()
    
    **重新回到 Activity 時**
    onRestart() -> onStart() -> onResume();
    
    **按下 Back 鍵時**
    onPause() -> onStop() -> onDestroy()
    
    **打開另一個 Activity[2] 時**
    onPause() -> [2]onCreate() -> [2]onStart() -> [2]onResume() -> onStop();

    onCreate()

    首次創建 Activity 時調用,可以在此方法中執行“全局”狀態設置,如調用 setContentView() 設置布局,或者將數據綁定到列表等

    onRestart()

    在 Activity 已停止并即將再次啟動前調用,一般 Activity 狀態由不可見轉為可見,此方法會被調用

    onStart()

    在 Activity 對用戶可見之前調用,Activity 可見但不可交互

    onResume()

    在 Activity 開始與用戶進行交互之前調用,Activity可以交互,具有用戶焦點

    onPause()

    在 Activity 正在停止時調用,此方法通常用于保存數據,停止動畫以及其他可能消耗 CPU 的內容,它應該非常迅速地執行所需操作,因為它返回后,下一個 Activity 才能繼續執行

    onStop()

    在 Activity 對用戶不再可見時調用,表示 Activity 即將停止,可以做輕量級回收工作

    onDestroy()

    在 Activity 被銷毀前調用,這是 Activity 收到的最后調用,當 Activiy 調用了 finish() 或者 系統銷毀了 Activity 的實例時,會調用此方法,一般用于回收工作和資源的釋放

    異常生命周期

    異常生命周期是指:Activity 被系統回收或者系統配置改變

    系統配置改變

    當系統配置改變時Activity 會被銷毀, 依次調用onPause()-onStop()-onDestroy(), 并且會調用 onSaveInstanceState() 保存當前 Activity 的狀態,這個方法只會在異常情況下調用,當Activity重新創建時,會調用 onRestoreInstanceState() 方法,并把保存的 Bundle 對象傳遞給此方法和 onCreate() 方法

    可以指定 android:configChanges=”orientation” 來使橫豎屏切換是不重新創建 Activity

    Activity 被系統回收

    當系統內存不足時,會按照 Activity 存在狀態回收 Activity,并通過 onSaveInstanceState() 和 onRestoreInstanceState() 來存儲和恢復數據

    版權聲明:本文為scnocy原創文章,遵循 CC 4.0 BY-SA 版權協議,轉載請附上原文出處鏈接和本聲明。
    本文鏈接:https://blog.csdn.net/scnocy/article/details/79057998

    智能推薦

    Android Activity 生命周期

    先來一張Google 官方關于Activity生命周期的圖 1. onCreate() 該方法在系統首次創建Activity時觸發。 2. onStart() 該方法的調用使Activity對用戶可見。 3. onResume() 該方法的調用使Activity與用戶處于互動的狀態。 應用會一直保持這種狀態,直到某些事件發生,讓焦點遠離應用。 比如:接到來電、用戶導航到另一個Activity,或設...

    Android Activity生命周期

    面試:你懂什么是分布式系統嗎?Redis分布式鎖都不會?>>>    Android中Activity的生命周期,我今天特意在重新總結一下.   1大狀態: 1.1 Running狀態: 一個新的Activity啟動入棧后,它在屏幕最前端,處于棧的最頂端,此時它處于可見并可和用戶交互的**狀態。該狀態activity位于task的最頂端 1.2 Pa...

    Android Activity生命周期

    Activity官方文檔 使用到的Activity Activity的一些典型生命周期,有些并不會執行中間一些回調....

    Android Activity生命周期

    為什么80%的碼農都做不了架構師?>>>    思路:1.繼承Activity          2.重寫方法(onCreate、onStart、onPause、onResume、onStop、onDestroy...)      ...

    Android Activity 生命周期

    轉載于 https://blog.csdn.net/Natsume_for_ever/article/details/107840402 1. Activity簡介 Activity 類是 Android 應用的關鍵組件,而 Activity 的啟動和組合方式則是該平臺應用模型的基本組成部分。在編程范式中,應用是通過 main() 方法啟動的,而 Android 系統與此不同,它會調用與其生命周期...

    猜你喜歡

    神奇的Batch Normalization 如果一個模型僅訓練BN層會是什么樣的

    您可能會感到驚訝,但這是有效的。 ? 最近,我閱讀了arXiv平臺上的Jonathan Frankle,David J. Schwab和Ari S. Morcos撰寫的論文“Training BatchNorm and Only BatchNorm: On the Expressive Power of Random Features in CNNs”。 這個主意立刻引起了...

    用Python實現校園通知更新提醒

    前言 這個項目實已經在一個月前已經完成了,一直都想寫一篇博客來總結這個過程中遇到的一些問題。但最近一個月來都比較忙,所以一直拖到了現在。 首先說說起因吧,我沒事的時候,總喜歡依次點開學校主頁、教務處、圖書館以及學院的網站,看看有沒有什么新通知,雖然大多與我無關。恰逢最近正在學Python,經常聽到別人說用Python寫爬蟲很簡單,但自己尚未接觸過爬蟲。于是抱著試一試的心態看了幾篇關于Python爬...

    spring_ioc相關_第一章

    1 spring是一站式框架,在javaee的三層結構中,每一層都提供不提并的解決技術 web層:springMVC service層:spring的ioc dao層:spring的jdbcTemplate 2 javaee為避免兩個類之間出現耦合,則把對象的創建交給spring進行管理,spring的ioc操作:(1)ioc的配置文件方式;(2)ioc注解方式 3 ioc的底層原理使用技術(1)...

    【Python+OpenCV】視頻流局部區域像素值處理-一種特征提取方法

    參考我之前寫的處理圖片的文章:Python+OpenCV實現【圖片】局部區域像素值處理(改進版) 開發環境:Python3.6.0 + OpenCV3.2.0 任務目標:攝像頭采集圖像(例如:480*640),并對視頻流每一幀(灰度圖)特定矩形區域(480*30)像素值進行行求和,得到一個480*1的數組,用這480個數據繪制條形圖,即在逐幀采集視頻流并處理后“實時”顯示采...

    JavaWeb——【前端】——注冊頁面

    頁面效果 實現代碼 注意事項 主要使用的bootstrap樣式 如果想引用,不要直接復制,沒用的。 先介紹下所引用的文件: boostrap的js、bootstrap的css、jquery的js、以及自己編寫的register.css。 因為博主用的thymeleaf語法,所以有th符號。 若要使用時,根據個人情況導入相應的依賴。...

    精品国产乱码久久久久久蜜桃不卡