- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
LifeCycle
活動的生命週期
維護一個Activity的生命週期非常重要,因為Activity隨時會被系統回收掉。
生命週期
作者在初級章節中一直努力地傳達給讀者:編寫Android平台的基本應用程式,跟編寫桌
面應用程式的難度,兩者並沒什麼不同。甚至因為Android平台擁有免費、跨平台的開發
工具,使得Android平台應用程式的開發更為單純。
但是請別忘了,Android平台也是個手機作業系統。撇掉其他功能不談,手機的特性,就是
應該能隨時在未完成目前動作的時候,離開正在使用的功能,切換到接電話、接收簡訊模式...
而且在接完電話回來應用程式時,還希望能看到一樣的內容。
現在使用者使用智慧型手機,大多已習慣使用多工(Multi-Task)的作業系統(如Windows
Mobile),可以在用手機聽音樂的同時,也執行其他多個程式。同時執行多個程式有它的明
顯好處,但是也有它的嚴重的缺點。每多執行一個應用程式,就會多耗費一些系統記憶體。
而手機裡的記憶體是相當有限的。當同時執行的程式過多,或是關閉的程式沒有正確釋放掉
記憶體,執行系統時就會覺得越來越慢,甚至不穩定。
為了解決這個問題,Android引入了一個新的機制--生命週期(LifeCycle)。
行程
應用程式(一個個Activity)執行的狀態稱為行程(process)。在Android作業系統中,每
個應用程式都是一個行程。Android系統平台(準確的說是Dalvik虛擬機)會維護一個唯一
的Activity歷史記錄堆疊,並從旁觀察每個應用程式行程。系統平台會依照系統的記憶體
狀況,與Activity的使用狀態,來管理記憶體的使用。
Activity類別除了負責運行程式流程,與操作介面元件之外,最重要的,就是它提供了開發
者控制行程生命週期的函式。我們已經相當習慣在OnCreate(建立行程時的行為)函式中,
加入我們對這個Activity執行流程的控制。在前面遇到的範例中,我們並不需要對除了
OnCreate之外的行為做出改變。不過理解行程的生命週期,將為我們繼續深入Android開
發打下基礎。
為什麼要了解生命週期
Android應用程式的生命週期是由Android框架進行管理,而不是由應用程式直接控制。
通常,每一個應用程式(入口一般會是一個Activity的onCreate方法),都會佔據一個
行程(Process)。當系統記憶體即將不足的時候,會依照優先級自動進行行程(process)的回
收。不管是使用者或開發者,都無法確定的應用程式何時會被回收。
一個Activity類別除了OnCreate函式之外,還預先定義了OnPause(暫停行程時的行為)、
OnResume(繼續行程時的行為)等等的基本行為,當從一個Activity切換到另一個Activity
的時候,原本的Activity將經過一連串的狀態改變。開發者可以在程式中添加一些各狀態
相對應的流程,每次Activity改變狀態時,就會執行相對應的流程。
要讓使用者有好的使用經驗,Activity需要在各個週期點上負責保管狀態、恢復狀態、傳送
資料等工作。
Activity的狀態
Android的虛擬機(VM)是使用堆疊(Stackbased)管理。主要有四種狀態:
*Active(活動)
*Paused(暫停)
*Stopped(停止)
*Dead(已回收或未啟動)
Active(活動)
「Active」狀態是使用者啟動應用程式或Activity後,Activity運行中的狀態。
在Android平台上,同一個時刻只會有一個Activity處於活動(Active)或運行(Running)狀
態。其他的Activity都處於未啟動(Dead)、停止(Stopped)、或是暫停(Pause)的狀態。
Paused(暫停)
「Paused」狀態是當Activity暫時暗下來,退到背景畫面的狀態。
當我們使用Toast、AlertDialog、或是電話來了時,都會讓原本運行的Activity退到背景畫
面。新出現的Toast、AlertDialog等介面
您可能关注的文档
最近下载
- 历史八年级上册《第七单元 人民解放战争》大单元整体教学设计2025.docx VIP
- GZ-2022024机器视觉系统应用赛项赛题完整版包括试题答案及全部附件-2022年全国职业院校技能大赛拟设赛项赛题.pdf VIP
- 使用安装说明书三菱电机上菱空调机.pdf VIP
- SAP培训详细分解详细分解.ppt VIP
- 7《咱当兵的人》教学设计.doc VIP
- 2024年10月浙江自考设计概论试题及答案解析.docx
- 人教版(2024)一年级美术上册第二单元《勤劳的蚕宝宝》精品课件.pptx VIP
- 《全国导游基础知识》第一节亚洲主要客源国概况(1)习题.docx VIP
- 北师大版五年级上册数学《练习四》.ppt VIP
- SAP PP模块培训材料【116页超详细】.pdf
文档评论(0)