网站大量收购独家精品文档,联系QQ:2885784924

Activity的生命周期外文翻译.docxVIP

  1. 1、本文档共6页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Activity的生命周期 ? ???好好理解Activity的生命周期是非常重要的。可以确保你的应用程序给用户提供一个完美的用户体验并适当的管理资源。 ??? 和前面介绍Application一样,Application不能自己控制自己的进程生命周期,Android系统运行时会管理每一个应用程序的进程,包括在应用程序里面的所有Activity。 ???? 当运行时需要终止并管理一个Activity的进程,这个Activity的状态会决定它所在的父应用程序的优先级。接着,应用程序的优先级也会影响运行时,可能会终止该应用程序。 ? Activity 栈 ???? 每一个Activity的状态会决定它在Activity栈中的位置,按照先进后出的方式组织现在所运行的所有的Activity,当一个新Activity启动时,当前位于前台的屏幕的将会移动到栈顶,如果用户点击了退后按钮,或者这个前台的Activity关闭了,栈中的下一个Activity会移动上来,并且处于活动状态,下图说明了这个过程: ? ?? 根据前面的说明,应用程序的优先级取决于它包含的最高优先级的Activity,当Android的内存管理决定终止哪一个Application以释放资源,也是使用这个栈决定建立在这些Activity上面的应用程序的优先级。 ?? ? Activity 状态 ?? 一个Activity从建立到销毁也就是移入到移出栈,这个过程通常可能包含以下四个状态: 1、Active 获得状态,当一个Activity位于栈顶并显示在前台,等待获得用户输入命令,Android系统会尝试付出所有可能的资源保证它的运行,必要时会杀死一些在栈中位于比较靠后的一些Activity,以确保它需要的资源,当另外一个Activity变成Active状态,那么这个将会进入暂停状态。 ? 2、Paused 暂停状态,有些情况下,你的应用程序会可见,但是不是获得用户输入的焦点,这种情况就是进入了暂停状态,出现这种状态也是是有一个半透明的或者不是全屏的Activity在它前面处于获得状态,当进入暂停状态,它会和处于获得状态一样对待,只是它不能获得用户的输入而已。只有在极端的情况下,Android会为了当前活动的Activity杀死一个暂停的Activity以释放资源,当一个Activity变得完全不可见,那么它就进入停止状态了。 ? 3、Stopped 停止状态,当一个Activity不可见了,那么它就进入停止状态了,这个Activity依然会在内存中,保存所有的信息状态,然而,它现在已经是在等候系统的终止了,只要系统其他任何情况需要内存的时候。当一个Activity终止时,最重要的是要保存数据和当前的UI状态,当一个Activity已经退出或者关闭时,那么它就进入不活动状态了。 ? 4、Inactive 不活动状态,当一个Activity已经给杀死了,在它再次启动前,它是不活动的状态,不活动的Activity是已经从Activity中移除的,当它再次需要展示或者使用时,是需要从新开始的。 ? 状态的改变是不确定的,并完全由Android的内存管理器确定的,Android会先关闭包含不活动的Activity的应用程序,接着是已经停止的,极端情况下是移除暂停的。 ?? 为了确保提供完美的用户体验,在状态切换的时候对用户而言是不可见的,状态切换到暂停,停止,或者不活动状态,对用户而言是没有说明不同的,最重要的是当Activity进入暂停或者停止状态时要保存UI的状态和数据,当Activity再次变成活动状态可以重新加载已保存的数据。 ? 监听状态的改变 ? ? 为了能作用于Activity状态的改变,Android提供了一系列的事件控件,当Activity切换所有的状态时都会启动这些对应的事件,包括这个生命周期,可见周期,活动周期等,下图描述了Activity的整个状态的变换。 ? ? 下面Activity实现了上面说提到的所有的事件。 ? ?package com.example.activitylifetime; ? import android.os.Bundle; import android.app.Activity; import android.app.AlertDialog; import android.app.AlertDialog.Builder; import android.content.Intent; import android.util.Log; import android.view.Menu; import android.view.View; import android.widget.Button; import android.wi

您可能关注的文档

文档评论(0)

小小紫色星 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档