【Android开发Wiki】入门篇生命周期的管理ManagingtheActivityLifecycle(三)停止和重启ActivityStoppingandRestartinganActivity.pdfVIP

【Android开发Wiki】入门篇生命周期的管理ManagingtheActivityLifecycle(三)停止和重启ActivityStoppingandRestartinganActivity.pdf

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
【Android开发Wiki】入门篇生命周期的管理ManagingtheActivityLifecycle(三)停止和重启ActivityStoppingandRestartinganActivity,androidlifecycle,activitylifecycle,androidactivity,androidactivity跳转,android刷新activity,android启动activity,android关闭activity,android透明activity,an

eoe 移动开发者社区 / 原文链接: /intl/zh-CN/training/basics/activity-lifecycle/stopping.html Stopping and Restarting an Activity 在activity 生命周期中,恰当的停止与重启activity 是很重要的,这样能确保用户感知到 程序的存在并不会丢失他们的进度。在下面一些关键的场景中会涉及到停止与重启:  用户打开“最近使用的程序(Recent Apps)”的菜单并从当前app 切换到另外一个app,这 个时候先前的app 是被停止的。如果用 户通过“主屏幕加载图标(Home screen launcher icon”或“最近使用的程序(Recent Apps)”重新回到这个app,则activity 会重启。  用户在当前的app 里面执行启动一个新的activity 的操作时,当前activity 会在第二个a ctivity 被创建后停止。如果用户点 击back 按钮,之前的activtiy 会被重启。  用户在运行app 时接受到一个来电通话。 Activity 类提供了onStop()方法与onRestart()方法用于在activity 停止与重启时进行调 用。和暂停状态时部分阻塞用户接口不同,停止状态时UI 不可见并且用户的焦点转移到另 一个activity 中。 注意: 因为系统在Activity 停止时会在内存中保存了Activity 实例,所以很多时候不需 要实现onStop()方法与onRestart()方法,甚至是onStart()方法。 因为大多数的Activi ty 相对比较简单,Activity 会自动正常停止与重启,只需要使用onPause()来停止正在运 行的动作并断开系统资源链接。 如图1所示:当用户离开Activity 时系统会调用onStop()来停止Activity (1)。这个时候 如果用户返回,系统会调用onRestart()(2), 紧接着会调用onStart()(3)与onResume()(4)。 需要注意的是:无论什么原因导致Activity 停止,系统总是会在onStop()之前调用 onPau se()方法。 停止Activity eoe 移动开发者社区 / 当activity 调用onStop()方法时,该activity 不再可见并且应该释放所有不再需要的资 源。一旦activity 停止了,系统可能会摧毁activity 的实例以回收内存,甚至,系统会不 执行activity 的onDestroy()回调方法而直接杀死你的app 进程, 因此需要使用onStop() 来释放资源,从而避免内存泄漏。 尽管onPause()方法是在onStop()之前调用,通常应该使用onStop()来执行CPU 密集型的 关闭操作,例如把数据写入数据库。 例如,下面是一个在onStop()的方法里面保存笔记草稿到永久存储介质的示例: 1. @Override 2. protected void onStop () { 3. super.onStop(); // Always call the superclass method first 4. 5. // Save the notes current draft, because the activity is stopping 6. // and we want to be sure the current note progress isnt lost. 7. ContentValues values = new ContentValues (); 8. values.put (NotePad.Notes.COLUMN_NAME_NOTE, getCurrentNoteText()); 9. values.put (NotePad.Notes.COLUMN_NAME_TITLE, getCurrentNoteTitle()); 10. 11. getContentResolver ().update (

文档评论(0)

tianma2015 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档