首页 > 试题广场 >

下面哪种进程最重要,最后被销毁?

[单选题]
下面哪种进程最重要,最后被销毁?
  • 服务进程
  • 后台进程
  • 可见进程
  • 前台进程
前台进程是指目前正在屏幕上显示的进程;可见进程也与用户密切相关,比如输入法,widget等这些进程虽然不是前台进程,但是依然可见的进程,比如widget、输入法等都属于visibile。后台进程:通常意义上理解的启动后被切换到后台的进程,如浏览器,阅读器。当程序正在屏幕上显示时,他所运行的进程即为前台进程,一旦我们按home键返回主界面(注意是按home,不是按back),程序就驻留在后台,成为后台进程。
发表于 2016-09-03 21:08:18 回复(0)
重要性依次是:前台进程,可见进程,服务进程,后台进程和空进程;所以销毁的顺序是逆方向。
发表于 2015-05-06 09:40:22 回复(8)
前台进程(foreground): 目前正在屏幕上显示的进程和一些系统进程。举例来说,Dialer Storage,Google Search等系统进程就是前台进程;再举例来说,当你运行一个程序,如浏览器,当浏览器界面在前台显示时,浏览器属于前台进程(foreground),但一旦你按home回到主界面,浏览器就变成了后台程序(background)。 我们最不希望终止的进程就是前台进程。 可见进程(visible): 可见进程是一些不在前台,但用户依然可见的进程,举个例来说:widget、输入法等,都属于visible。这部分进程虽然不在前台,但与我们的使用也密切相关,我们也不希望它们被终止(你肯定不希望时钟、天气,新闻等widget被终止,那它们将无法同步,你也不希望输入法被终止,否则你每次输入时都需要重新启动输入法) 次要服务(secondary server): 目前正在运行的一些服务(主要服务,如拨号等,是不可能被进程管理终止的,故这里只谈次要服务),举例来说:谷歌企业套件,Gmail内部存储,联系人内部存储等。这部分服务虽然属于次要服务,但很一些系统功能依然息息相关,我们时常需要用到它们,所以也太希望他们被终止 后台进程(hidden): 虽然用了hidden这个词,但实际即是后台进程(background),就是我们通常意义上理解的启动后被切换到后台的进程,如浏览器,阅读器等。当程序显示在屏幕上时,他所运行的进程即为前台进程(foreground),一旦我们按home返回主界面(注意是按home,不是按back),程序就驻留在后台,成为后台进程(background)。后台进程的管理策略有多种:有较为积极的方式,一旦程序到达后台立即终止,这种方式会提高程序的运行速度,但无法加速程序的再次启动;也有较消极的方式,尽可能多的保留后台程序,虽然可能会影响到单个程序的运行速度,但在再次启动已启动的程序时,速度会有所提升。这里就需要用户根据自己的使用习惯找到一个平衡点 内容供应节点(content provider): 没有程序实体,仅仅提供内容供别的程序去用的,比如日历供应节点,邮件供应节点等。在终止进程时,这类程序应该有较高的优先权 空进程(empty): 没有任何东西在内运行的进程,有些程序,比如BTE,在程序退出后,依然会在进程中驻留一个空进程,这个进程里没有任何数据在运行,作用往往是提高该程序下次的启动速度或者记录程序的一些历史信息。 这部分进程无疑是应该最先终止的。 补充: 系统会对进程的重要性进行评估,并将重要性以“oom_adj”这个数值表示出来,赋予各个进程;(系统会根据“oom_adj”来判断需要结束哪些进程,一般来说,“oom_adj”的值越大,该进程被系统选中终止的可能就越高) 前台程序的“oom_adj”值为0,这意味着它不会被系统终止,一旦它不可访问后,会获得个更高的“oom_adj”,推测“oom_adj”的值是根据软件在LRU列表中的位置所决定的; Android不同于Linux,有一套自己独特的进程管理模块,这个模块有更强的可定制性,可根据“oom_adj”值的范围来决定进程管理策略,比如可以设定“当内存小于X时,结束“oom_adj”大于Y的进程”。这给了进程管理脚本的编写以更多的选择。
发表于 2015-07-17 07:48:57 回复(6)
前台可见进程服务于后台空进程,仅供于记忆
编辑于 2015-11-08 20:15:12 回复(4)
前台进程: 即与用户正在交互的Activity或者Activity用到的Service等,如果系统内存不足时前台进程是最后被杀死的 可见进程: 可以是处于暂停状态(onPause)的Activity或者绑定在其上的Service,即被用户可见,但由于失去了焦点而不能与用户交互. 服务进程: 其中运行着使用startService方法启动的Service,虽然不被用户可见,但是却是用户关心的,例如用户正在非音乐界面听的音乐或者正在非下载页面自己下载的文件等;当系统需要空间运行前两者进程(–>指的是前台进程和可见进程)时才会被终止. 后台进程: 其中运行着执行onStop方法而停止的程序,但是却不是用户当前关心的,例如后台挂着的QQ,这样的进程系统一旦没了有内存就首先被杀死. 空进程: 不包含任何应用程序的程序组件的进程,这样的进程系统是一般不会让他存在的,为了进行缓存,使下次App启动的时候更快,当系统需要内存是最先被杀死.
发表于 2018-03-04 07:50:23 回复(0)

重要性:前台进程,可见进程,服务进程,后台进程,空进程

发表于 2019-03-23 09:34:51 回复(0)
前台进程,可见进程,服务进程,后台进程,空进程
发表于 2016-08-28 09:24:37 回复(0)
【前台可见进程服务于后台空进程,仅供于记忆】
重要性依次是:前台进程,可见进程,服务进程,后台进程和空进程;所以销毁的顺序是逆方向。
【以上为优秀回答】
发表于 2019-03-20 15:17:12 回复(0)
为什么? 看了很多底下的评论,并不是解释的很清楚。
发表于 2017-11-25 23:43:07 回复(0)
好吧 前台和可见搞混了
发表于 2016-09-26 01:55:30 回复(0)
关于几种进程,推荐官方的介绍:https://developer.android.com/guide/components/processes-and-threads.html#Processes
编辑于 2016-09-08 20:08:07 回复(0)
前台进程(foreground): 目前正在屏幕上显示的进程和一些系统进程。举例来说,Dialer Storage,Google Search等系统进程就是前台进程;再举例来说,当你运行一个程序,如浏览器,当浏览器界面在前台显示时,浏览器属于前台进程(foreground),但一旦你按home回到主界面,浏览器就变成了后台程序(background)。 我们最不希望终止的进程就是前台进程。 可见进程(visible): 可见进程是一些不在前台,但用户依然可见的进程,举个例来说:widget、输入法等,都属于visible。这部分进程虽然不在前台,但与我们的使用也密切相关,我们也不希望它们被终止
发表于 2016-07-26 23:01:02 回复(0)
重要性顺序:前台进程 -> 可见进程 -> 服务进程 -> 后台进程和空进程;  销毁的顺序相反。
发表于 2016-05-18 15:15:17 回复(0)
我理解成服务进程了。。。
发表于 2015-05-04 19:11:21 回复(0)
D
发表于 2015-04-05 19:51:25 回复(0)
D
发表于 2015-03-27 16:28:27 回复(0)
D:此题在上一道题中有详细解释。
发表于 2015-03-10 17:26:29 回复(0)
选D。为了维护系统的必要开销,可能当前正在运行的前台进程也会被终止。
发表于 2015-03-08 21:21:32 回复(0)
d
发表于 2015-03-04 22:25:33 回复(0)
d
发表于 2015-03-02 18:43:57 回复(0)