分析帖:Android应用程序需不需要让用户手动退出
日期:2011-08-26为了解释这个问题,我们先来了解这个系统对于应用程序管理的一些内部机制
对于Android系统而言,包含“进程”和“服务”
“进程”有正在运行的,也有刚刚离开在后台缓存的
“服务”是一个无界面、长时间运行的应用功能,并且不会轻易被终止
我们知道,在Android中可以快速通过主页键(home)或者使用返回键(←)逐步离开应用程序
第一:“主页键”在当前运行的应用程序的任意界面,按下主页键会快速回到手机主屏幕同时这个应用程序的进程将在后台被暂停并建立缓存,再次启动应用程序时可以方便地返回刚才的界面
(现场被保留)当然,在你按下主页键回到手机主屏幕时,因设计需要,也有可能会在后台运行一个甚至多个进程和服务,以保证这个应用程序在后台是“活的”
尽管我们知道了后台会产生各种各样的“进程”与“服务”,但你并不用担心它们会把你的手机拖累
当运行新的应用程序发现内存可能不够用时,系统会自动在后台释放部分缓存在后台的进程,以保障可运行新的应用程序
这是一个智能的、良性的供给体系
第二:“返回键”Android系统使用返回键来进行屏幕后退,以及关闭对话框/菜单/屏幕键盘
对于传统的本地客户端应用程序,每个屏幕可以理解为一个活动(Activity)
通过返回键可以快速回退到当前应用程序的上一个活动,也可以离开当前应用程序打开的新的应用程序的某个活动
所有的活动呈堆栈结构(一种串行形式的数据结构),正在运行的活动处在最顶端
当你按下返回键,会清除当前活动并恢复上一个活动
如下图示例:如果你连续按返回键,活动一个个被抽离,就像剥洋葱一样
在Android的应用程序里,可以通过“意图(Intent)”功能,在当前应用程序(任务)的某个活动来启动另一个应用程序(任务)的某个活动
比如下图的示例,在“有道词典”主界面单击超链接