中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Android生命周期的示例分析

發布時間:2021-12-01 09:43:45 來源:億速云 閱讀:156 作者:小新 欄目:移動開發

這篇文章給大家分享的是有關Android生命周期的示例分析的內容。小編覺得挺實用的,因此分享給大家做個參考,一起跟隨小編過來看看吧。

在這期間,他們可能處于激活或者未激活、可見不可見的狀態。這一節會討論activity、service和broadcast receivers的生命周期――包括在生命周期內他們可能的狀態,和如何切換狀態,以及這些狀態對程序被中止或者銷毀的影響。

Android生命周期activity主要有3種狀態

◆當它在屏幕的前臺運行的時候(在任務堆棧的頂端),狀態為 active 或 running 。這個時候用戶的注意力集中在此activity上。

◆當對用戶仍然可見,但是失去焦點的時候,狀態為paused 。在它上面的acitivity要么就是半透明,要么就是沒有占滿屏幕,因此被暫停的acitivity仍然可見。

一個暫停的activity完全是活動的(保持狀態、成員信息、綁定到窗口管理器),但是當系統內存不足的時候會被關閉。

◆當被其他activity完全遮蓋的時候,狀態為 stopped ,它仍可以保存狀態和成員信息。但是當其他程序需要內存的時候它隨時可能被銷毀。

如果一個activity被停止或者暫停了,系統可能會通過調用它的finish方法或者簡單的關閉進程來回收內存。但是當這個activity重新可見的時候,它會重新啟動并返回上一次的狀態。

當activity的狀態改變的時候,它被以下受保護的方法通知:

taskAffinity   launchMode   allowTaskReparenting   clearTaskOnLaunch   alwaysRetainTaskState   finishOnTaskLaunch

這些方法都是可以重寫來實現特定的要求,就像activity在對象***次初始化的時候必須實現onCreate()方法,來做初始化的工作。很多情況下,需要實現onPause() 來做數據保存以防程序關閉。

Android生命周期方法一起構成了activity的生命周期,你可以監控這個不斷循環的過程,此過程包括3種:activity的整個生命周期  開始于***次調用 onCreate() 結束于調用onDestroy(). activity onCreate()完成全局的狀態的初始化。

在onDestroy()方法里面應該釋放所有的資源。例如,在后臺有一個下載數據的線程,那么應該在程序的onCreate() 調用啟動線程的方法,在onDestroy()里面調用關閉線程的方法。可見的生命周期開始于 onStart() 結束于 onStop()方法。在這個期間,用戶可以在屏幕上看到此acitvity(即使它不在前臺和用戶交互)。

在這個2個方法之間,可以保存需要更新界面的資源。例如,在 onStart()方法注冊了一個 BroadcastReceiver 來監視影響UI的操作,就需要在onStop() 方法里面注銷,因為在調用這個方法后用戶不再需要操作界面。

隨著用戶不斷切換程序的可見和不可見的時候,onStart() 和 onStop() 方法會被調用很多次。前臺Android生命周期開始于 onResume() 方法,結束于 onPause()方法。在這個期間,可以從屏幕上看到,此acitivity在所有其他activity前面。

并且和用戶交互。因為用戶會頻繁的從暫停、恢復狀態切換,例如,當設備待機或者一個新的activity啟動的時候, onPause() 會被調用。當傳入一個新的intent進來的時候, onResume() 方法被調用。因此,這2個方法內的代碼應該是輕量級的。顯示了activity在狀態間切換的軌跡。有色的橢圓表示了activity最常見的狀態。正方形表示了切換狀態時可以監控的方法。

感謝各位的閱讀!關于“Android生命周期的示例分析”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,讓大家可以學到更多知識,如果覺得文章不錯,可以把它分享出去讓更多的人看到吧!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

顺义区| 朝阳县| 上栗县| 太和县| 昔阳县| 清水县| 河池市| 嵊州市| 金昌市| 成都市| 宁河县| 德阳市| 汉阴县| 北安市| 天等县| 金堂县| 永胜县| 伽师县| 介休市| 金寨县| 宿迁市| 宁化县| 太湖县| 巴彦淖尔市| 泰顺县| 精河县| 宁强县| 贺州市| 闵行区| 曲松县| 利津县| 洛南县| 绥化市| 西畴县| 临汾市| 沐川县| 辛集市| 茌平县| 涪陵区| 五家渠市| 靖远县|