首页 > 试题广场 >

前台进程是Android系统中最重要的进程,在Andriod

[不定项选择题]
前台进程是Android系统中最重要的进程,在Andriod系统中包含哪些情形( )
  • Activity正在与用户进行交互
  • 进程服务正在执行声明中的回调函数
  • 进程的BroadCastRecevier在执行onRecevie()函数
  • 当一个Activity被部分遮挡时

     前台进程       用户当前操作所必需的进程。如果一个进程满足以下任一条件,即视为前台进程:               托管用户正在交互的 Activity(已调用 Activity 的 onResume() 方法)             托管某个 Service,后者绑定到用户正在交互的 Activity             托管正在“前台”运行的 Service(服务已调用 startForeground())             托管正执行一个生命周期回调的 Service(onCreate()、onStart() 或 onDestroy())             托管正执行其 onReceive() 方法的 BroadcastReceiver              通常,在任意给定时间前台进程都为数不多。只有在内存不足以支持它们同时继续运行这一万不得已的情况下,系统才会终止它们。 此时,设备往往已达到内存分页状态,因此需要终止一些前台进程来确保用户界面正常响应。          可见进程       没有任何前台组件、但仍会影响用户在屏幕上所见内容的进程。 如果一个进程满足以下任一条件,即视为可见进程:               托管不在前台、但仍对用户可见的 Activity(已调用其 onPause() 方法)。例如,如果前台 Activity 启动了一个对话框,允许在其后显示上一 Activity,则有可能会发生这种情况。             托管绑定到可见(或前台)Activity 的 Service。              可见进程被视为是极其重要的进程,除非为了维持所有前台进程同时运行而必须终止,否则系统不会终止这些进程。          服务进程       正在运行已使用 startService() 方法启动的服务且不属于上述两个更高类别进程的进程。尽管服务进程与用户所见内容没有直接关联,但是它们通常在执行一些用户关心的操作(例如,在后台播放音乐或从网络下载数据)。因此,除非内存不足以维持所有前台进程和可见进程同时运行,否则系统会让服务进程保持运行状态。          后台进程       包含目前对用户不可见的 Activity 的进程(已调用 Activity 的 onStop() 方法)。这些进程对用户体验没有直接影响,系统可能随时终止它们,以回收内存供前台进程、可见进程或服务进程使用。 通常会有很多后台进程在运行,因此它们会保存在 LRU (最近最少使用)列表中,以确保包含用户最近查看的 Activity 的进程最后一个被终止。如果某个 Activity 正确实现了生命周期方法,并保存了其当前状态,则终止其进程不会对用户体验产生明显影响,因为当用户导航回该 Activity 时,Activity 会恢复其所有可见状态。 有关保存和恢复状态的信息,请参阅 Activity文档。          空进程       不含任何活动应用组件的进程。保留这种进程的的唯一目的是用作缓存,以缩短下次在其中运行组件所需的启动时间。 为使总体系统资源在进程缓存和底层内核缓存之间保持平衡,系统往往会终止这些进程。      

发表于 2018-08-23 07:46:40 回复(0)
1、foreground process
    正处于activity resume状态
    正处于bound服务交互的状态
    正处于服务在前台运行的状态(StartForeGround()被调用)
    Service生命周期正在被执行(onCreate(),onStart(),onDestroy())
    BroadcastReceiver正在执行onReceive()方法
    杀死foreground需要用户响应,因为这个安全优先级是最高的
2、visible process
    activity不在前端显示,但也没有完全隐藏,能够看得见,比如弹出一个对话框
    一个bound到visible或者foreground的activity的service
3、Service process
    正在运行的,不在上述两种状态的service
是由 startService() 方法启动的服务,它不会变成上述两类。尽管服务进程不会直接为用户所见,但它们一般都在做着用户所关心的事情(比如在后台播放mp3或者从网上下载东 西)。所以系统会尽量维持它们的运行,除非系统内存不足以维持前台进程和可视进程的运行需要。
4、background process
    不可见状态的activity进程,onstop被调用
5、empty process
    没有运行任何component的进程,保留这个进程主要是为了缓存的需要。比如,我们在浏览器搜索框中输入了一些关键字,然后关闭了浏览器,为了下一次启动后,搜索框还有上次的关键字,需要使用缓存将这些关键字存起来,建立空进程来保存这些关键字,从而当再次启动浏览器时,可以从空进程中获得关键字数据。
发表于 2017-08-20 21:43:17 回复(0)
这道题想问什么?
发表于 2017-07-06 17:26:37 回复(0)
  1. 前台进程

    用户当前操作所必需的进程。如果一个进程满足以下任一条件,即视为前台进程:

    通常,在任意给定时间前台进程都为数不多。只有在内存不足以支持它们同时继续运行这一万不得已的情况下,系统才会终止它们。 此时,设备往往已达到内存分页状态,因此需要终止一些前台进程来确保用户界面正常响应。

  2. 可见进程

    没有任何前台组件、但仍会影响用户在屏幕上所见内容的进程。 如果一个进程满足以下任一条件,即视为可见进程:

    • 托管不在前台、但仍对用户可见的 Activity(已调用其 onPause() 方法)。例如,如果前台 Activity 启动了一个对话框,允许在其后显示上一 Activity,则有可能会发生这种情况。
    • 托管绑定到可见(或前台)Activity 的 Service

    可见进程被视为是极其重要的进程,除非为了维持所有前台进程同时运行而必须终止,否则系统不会终止这些进程。

  3. 服务进程

    正在运行已使用 startService() 方法启动的服务且不属于上述两个更高类别进程的进程。尽管服务进程与用户所见内容没有直接关联,但是它们通常在执行一些用户关心的操作(例如,在后台播放音乐或从网络下载数据)。因此,除非内存不足以维持所有前台进程和可见进程同时运行,否则系统会让服务进程保持运行状态。

  4. 后台进程

    包含目前对用户不可见的 Activity 的进程(已调用 Activity 的 onStop() 方法)。这些进程对用户体验没有直接影响,系统可能随时终止它们,以回收内存供前台进程、可见进程或服务进程使用。 通常会有很多后台进程在运行,因此它们会保存在 LRU (最近最少使用)列表中,以确保包含用户最近查看的 Activity 的进程最后一个被终止。如果某个 Activity 正确实现了生命周期方法,并保存了其当前状态,则终止其进程不会对用户体验产生明显影响,因为当用户导航回该 Activity 时,Activity 会恢复其所有可见状态。 有关保存和恢复状态的信息,请参阅 Activity文档。

  5. 空进程

    不含任何活动应用组件的进程。保留这种进程的的唯一目的是用作缓存,以缩短下次在其中运行组件所需的启动时间。 为使总体系统资源在进程缓存和底层内核缓存之间保持平衡,系统往往会终止这些进程。

发表于 2017-08-14 15:30:39 回复(7)
activity被遮挡时属于可见进程,可见进程的优先级在前台进程之下。
发表于 2017-06-03 13:31:12 回复(1)
前台进程:
是Android系统中最重要的进程,是与用户正在进行交互的进程。有以下四种情况。·Activity正在与用户进行交互·进程被Activity调用,而且这个进程正在与用户进行交互·进程服务正在执行声明中的回调函数,如OnCreate()OnStart()OnDestroy()·进程的BroadCastReceiver在执行OnReceive()函数 
Android系统在多个前台进程同时运行时,可能会出现资源部足的情况,此时会清除部分前台进程,保证主要的用户界面能够及时响应。
编辑于 2017-06-07 14:19:40 回复(0)
被遮挡以后的属于可见进程,而不是前台进程了
发表于 2018-03-27 08:25:00 回复(0)
声明中的回调函数???给我整不会了
发表于 2023-11-17 22:21:56 回复(0)
D选项是代表此时为可见进程吗?
发表于 2023-01-12 17:11:39 回复(0)
B选项求解答
发表于 2018-03-02 19:56:07 回复(0)
B选项求解释
发表于 2017-09-10 15:37:40 回复(0)
C项有问题,广播接收者是可以跨进程接收消息的,如果广播接收者是在非前台进程注册的,那它的接收方法不就是在非前台进程中调用么?
发表于 2017-07-15 08:33:44 回复(0)
D: 当一个Avtivity被遮挡时 属于可见进程,不属于前台进程。
发表于 2017-07-11 22:42:23 回复(0)
...OnReceive ...看了我半天
发表于 2017-06-27 16:54:41 回复(0)