分析帖:Android应用程序需不需要让用户手动退出?.docx

分析帖:Android应用程序需不需要让用户手动退出?.docx

  1. 1、本文档共7页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
分析帖:Android 应用程序需不需要让用户手动退出? ———————————————————————————————— 作者: ———————————————————————————————— 日期 : ? 分析帖: Android 应用程序需不需要让用户手动退出 ? 日期: 2011 -08 -26 为了解释这个问题,我们先来了解这个系统对于应用程序管理的一些内部机制。 ? 对于 And roid 系统而言,包含“进程”和“服务”。“进程”有正在运行的 , 也有刚刚离开在后台缓存的。“服务”是一个无界面、长时间运行的应用功能 , 并且不会轻易被终止。 ? 我们知道 , 在A ndr o id 中可以快速通过主页键 ( home)或者使用返回键(←)逐步离开应用程序。 ? 第一 : “主页键” ? 在当前运行的应用程序的任意界面 , 按下主页键会快速回到手机主屏幕。同时这个应用程序的进程将在后台被暂停并建立缓存, 再次启动应用程序时可以方便地返回刚才的界面。(现场被保留 ) 当然,在你按下主页键回到手机主屏幕时 , 因设计需要,也有可能会在后台运行一个甚至多个进程和服务 , 以保证这个应用程序在后台是“活的”。 ? 尽管我们知道了后台会产生各种各样的“进程”与“服务” , 但你并不用担心它们会把你的手机拖累。 当运行新的应用程序发现内存可能不够用时, 系统会自动在后台释放部分缓存在后台的进程, 以保障可运行新的应用程序。 这是一个智能的、良性的供给体系。 ? 第二 : “返回键” Android 系统使用返回键来进行屏幕后退 , 以及关闭对话框 / 菜单/屏 幕键盘。 对于传统的本地客户端应用程序,每个屏幕可以理解为一个活动 (Acti v i t y) 。通过返回键可以快速回退到当前应用程序的上一个活动 , 也可以离开当前应用程序打开的新的应用程序的某个活动。 ? 所有的活动呈堆栈结构 ( 一种串行形式的数据结构 ) ,正在运行的活动处在最顶端。当你按下返回键 , 会清除当前活动并恢复上一个活动。如下图示例: ? ? 如果你连续按返回键,活动一个个被抽离,就像剥洋葱一样。 在 And ro id 的应用程序里,可以通过“意图 (Intent )”功能,在当前应用程序(任务)的某个活动来启动另一个应用程序 ( 任务 ) 的某个活动。 比如下图的示例,在“有道词典”主界面单击超链接“意见反馈”打开浏览器访问目标网页: 在目标网页界面 , 你可以使用返回键快速返回刚才的 “有道词典”主界面。 而接下来这个例子 , 体验则是非常糟糕的: 如上图 , 在目标网页想要返回上一个任务需要历经几番周折。 ? 一遍又一遍地回退浏览器的浏览历史,甚至还要回到浏览器的起始页, 然后弹出一个对话框询问是否要退出。 ?  天哪!我快要疯掉了。 Androi d官方对于多个任务间的活动堆栈处理机制  , 可以看下面这 张图来解 释 : ? 从图中我们可以看到 , 一开始在后台的“任务 B”的“活动 Y”经由“任 务 A”的“活动 2”的一个按钮抽调到了前台 , 而随着“任务 B”的活动一个个被剥离 , 最终整个“任务 B”被结束了 , 并且使用返回键又回到了“任务 A”的“活 动2”。 ??返回键实现了调用新任务之后快速返回的便利,而不是只能 迂回地回到应用程序列表并找到上一个使用的应用程序再次启动。 ?? 当所有活动从堆栈中清除, 任务结束。也就是说,在应用程序的主界面按下返回键 时,应用程序就已经退出了。 ?? 除非 , 这个应用程序设计了后台运行的进程和服务。比如 新浪微博 ,即使你在应用程序主界面按下返回键退出了 , 在 “程序管理” “正在运行”界面上仍然可以看到正在运行的进程和服务。 ( 需通过菜单键切换至“显示当前运行的服务”视图) ? 正如上面提到的,后台服务是一个无界面、长时间运行的应用功能, 并且不会轻易被终止,即便你使用“任务管理器”。 ( 其实可以在“服务”界面找到它并且手动 停止服务 , 只不过没有这个必要性 , 交给系统自动处理即可。 长时间不使用某个任务时 , 系统会认为你已经不再需要了并且会自动帮你结束。) 至此 , 我们已经知道为什么A ndro i d 应用程序不需要手动退出了。因为聪明的系统已经帮助用户做了许多事情 , 包括退出应用程序以及恢复可用内存。 ?? 受限于 Androi d官方对设计规范的态度, Android 并没有像iO S 那样明文告诉设计者不需要这个不需要那个。A nd roi d应用程序的设计模式 也 因此而“百花齐放”,很难形成较为统一的体验。比如本文提到的需不需要手动退出 An dro id应用程序的话题 , 如果在 iOS 中看到屏幕上有退出应用程序的 按钮 , 是一

文档评论(0)

150****2023 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档