自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

Android生命周期真的很短暫嗎?

移動開發(fā) Android
無論什么樣的應(yīng)用程序組件有一個Android生命周期,Android開始讓他們?nèi)ロ憫?yīng)一個Intent請求,結(jié)果顯示intent不能進行。

下面文章著重說明Android生命周期的問題,其中包括用戶想知道的一些內(nèi)容和相關(guān)注意事項,Android生命周期為此我也苦惱很久,后來終于讓我找到了解決辦法。

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

Android生命周期activity主要有3種狀態(tài)

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

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

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

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

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

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

  1. taskAffinity   
  2. launchMode   
  3. allowTaskReparenting   
  4. clearTaskOnLaunch   
  5. alwaysRetainTaskState   
  6. finishOnTaskLaunch 

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

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

在onDestroy()方法里面應(yīng)該釋放所有的資源。例如,在后臺有一個下載數(shù)據(jù)的線程,那么應(yīng)該在程序的onCreate() 調(diào)用啟動線程的方法,在onDestroy()里面調(diào)用關(guān)閉線程的方法??梢姷纳芷陂_始于 onStart() 結(jié)束于 onStop()方法。在這個期間,用戶可以在屏幕上看到此acitvity(即使它不在前臺和用戶交互)。

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

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

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

【編輯推薦】

  1. Android應(yīng)用程序組建原理深入剖析
  2. Android SMS短信服務(wù)相關(guān)概念簡述
  3. PythonAndroid數(shù)據(jù)庫相關(guān)代碼解讀
  4. PythonAndroid安裝卸載程序具體操作方法解析
  5. Android應(yīng)用程序的四個關(guān)鍵點
責任編輯:chenqingxiang 來源: 51CTO.com
相關(guān)推薦

2011-06-16 09:31:21

ActivityAndroid

2010-03-02 17:22:46

Android技術(shù)

2015-07-08 16:28:23

weak生命周期

2010-01-26 17:00:31

Android生命周期

2014-04-16 13:31:27

AndroidFragment多屏幕支持

2021-09-21 10:41:43

手機電池技術(shù)

2009-06-24 10:47:55

JSF生命周期

2012-06-20 10:29:16

敏捷開發(fā)

2013-08-19 17:03:00

.Net生命周期對象

2021-07-19 05:52:29

網(wǎng)絡(luò)生命周期網(wǎng)絡(luò)框架

2010-03-02 15:22:40

Android手機

2022-04-19 07:20:24

軟件開發(fā)安全生命周期SSDLC應(yīng)用安全

2010-02-06 10:42:41

Android Ser生命周期

2009-06-11 11:28:35

JSF生命周期

2010-07-14 10:48:37

Perl線程

2023-10-07 00:05:07

2014-07-16 13:39:30

Windows Pho

2023-09-12 10:52:16

OpenSSL開源套件

2013-08-01 09:40:51

Windows 8.1

2009-06-18 13:32:39

Java線程生命周期
點贊
收藏

51CTO技術(shù)棧公眾號