A life cycle of application.ppt

  1. 1、本文档共24页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
A life cycle of application

* * * * * * * * * * * * * * * * * * * * * * * A life cycle of application Android系統下的作業程序 分別為 Activity-前景 Background Services-背景服務 Activity(Intermittent Activities)-間格執行 其中入門開發者,會由xxx.java程式碼檔中,的宣告語法 ”public void xxx extends Activity”首度接觸到 Activity-前景。 Activity是甚麼? 在android中,Application就是在Activity的狀態下讓User使用操作(可以當作是一種User Interface Program)。 現行大多的User早已習慣使用多功的(Multi-Task)作業系統(如Windows-XP),因此會利用智慧型手機來進行多樣化程式作業,可能在聽音樂同時也在翻閱相簿,並且手機又隨時待機在接聽電話的狀態。 新的機制-Life Cycle 執行多工的好處誰都喜歡,但每執行一個Application就會耗費一些記憶體。手機中的記憶體有限,當同時執行的程式過多,或者關閉程式沒有正確的釋放掉記憶體,執行的系統將會越來越慢,甚至趨向不穩定。 為了解決此問題,Android引入了一個新機制-Life Cycle 行程 Application執行的狀態稱為行程(process)。在 Android 作業系統中,每個應用程式都是一個行程。Android 系統平台-Dalvik 虛擬機會維護一個唯一的 Activity 歷史記錄堆疊,並從旁觀察每個應用程式行程。系統平台會依照系統的記憶體狀況,與 Activity 的使用狀態,來管理記憶體的使用。 Activity 類別除了負責運行程式流程,與操作介面元件之外,最重要的,就是它提供了開發者控制行程生命週期的函式。我們已經相當習慣在 OnCreate (建立行程時的行為)函式中,加入我們對這個 Activity 執行流程的控制。在前面遇到的範例中,我們並不需要對除了 OnCreate 之外的行為做出改變。不過理解行程的生命週期,將為我們繼續深入 Android 開發打下基礎。 各種Activity狀態 Android 的Virtual Machine是使用堆疊 (Stack based) 管理。 主要有四種狀態: Active (活動) Paused (暫停) Stopped (停止) Dead (已回收或未啟動) 當一個新的Activity被執行後,它將會被放置到堆疊的最頂端,並且變成running activity, 而先前的Activity原則上還是會存在於堆疊中,但它此時不會是在前景的情況,除非剛剛那個新的Activity離開。 Active (活動) 「Active」狀態是使用者啟動應用程式或 Activity 後,Activity 運行中的狀態。 在 Android 平台上,同一個時刻只會有一個 Activity 處於活動(Active)或運行(Running)狀態。其他的 Activity 都處於未啟動(Dead)、停止(Stopped)、或是暫停(Pause)的狀態。 Paused (暫停) 「Paused」狀態是當 Activity 暫時暗下來,退到背景畫面的狀態。 當我們使用Toast、AlertDialog、或是電話來了時,都會讓原本運行的 Activity 退到背景畫面。新出現的Toast、AlertDialog等介面元件蓋住了原來的 Activity 畫面。Activity 處在「Paused」狀態時,使用者無法與原 Activity 互動。 Stopped (停止) 「Stopped」狀態是有其他 Activity 正在執行,而這個 Activity 已經離開螢幕,不再動作的狀態。 透過長按「Home」鈕,可以叫出所有處於「Stopped」狀態的應用程式列表。 Dead (已回收或未啟動) 「Dead」狀態是 Activity 尚未被啟動、已經被手動終止,或已經被系統回收的狀態。 當程式設計者要在程式中直接終止 Activity,可以在程式中呼叫「finish」函式來處理。 如果是被系統回收,可能是因為記憶體不足了,所以系統根據記憶體不足時的回收規則,將處於「Stopped」狀態的 Activity 所佔用的記憶體回收。 當記憶題在此Life Cycle機制下依舊不足時…... 記憶體不足時,Dalvak Virtual Machine會根據其記憶體回收優先權分配來釋放記憶體: 先回收與其他 Activity 或 Service/Intent Receiv

文档评论(0)

sh4125733 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档