摘要:本文将带你了解Android应用开发Android 中的“前台”与“后台”相关定义整理,希望本文对大家学Android有所帮助。
本文将带你了解Android应用开发Android 中的“前台”与“后台”相关定义整理,希望本文对大家学Android有所帮助。
“前台”指前台进程,“后台”指后台进程。
1、用于服务限制目的
如果满足以下任意条件,应用将被视为处于前台:
具有可见 Activity(不管该 Activity 已启动还是已暂停)。 具有前台服务。
另一个前台应用已关联到该应用(不管是通过绑定到其中一个服务,还是通过使用其中一个内容提供程序)。
例如,如果另一个应用绑定到该应用的服务,那么该应用处于前台:
IME 壁纸服务 通知侦听器 语音或文本服务
如果以上条件均不满足,应用将被视为处于后台。
2、用于内存管理
(下面文中它指的是目标进程,以及下文所说的 “托管 (honsting) ”,个人觉得应该是 host 的 ing
的形式,它的主语是目标进程,只不过在文中省略来该主语,其意思大致为 “持有,包含” ,个人见解)
前台进程:
用户当前操作所必需的进程。如果一个进程满足以下任一条件,即视为前台进程:
(1)存在用户正在交互的屏幕顶部运行一个Activity(它的onResume()方法已被调用)
(2)它有一个当前正在运行的BroadcastReceiver(其BroadcastReceiver.onReceive()方法正在执行)
(3)它有一个服务当前正在执行它的其中一个回调(即Service.onCreate(),Service.onStart()或Service.onDestroy())中的代码
(4)某个 Service,绑定到用户正在交互的 Activity 上
可见进程:
没有任何前台组件、但仍会影响用户在屏幕上所见内容的进程。 如果一个进程满足以下任一条件,即视为可见进程:
(1)正在屏幕上运行一个对用户可见的Activity,但不在前台(它的onPause()方法已被调用)。
例如,如果前景活动显示为允许在其后面看到先前活动的对话框,则可能发生这种情况
(2)有一个作为前台服务运行的服务,通过Service.startForeground()(这是要求系统将服务视为用户知道的事情,或者对他们来说基本可见)
(3)正在托管系统正在使用的用于用户知晓的特定功能的服务,例如动态壁纸,输入法服务等。
(4)托管绑定到可见(非前台)Activity 的 Service。(目标进程持有一个绑定到可见 Activity 的 Service)
服务进程:正在运行已使用 startService() 方法启动的服务且不属于上述两个更高类别进程的进程。
后台进程:包含目前对用户不可见的 Activity 的进程(已调用 Activity 的 onStop() 方法)。如有一个只包含 Activity
的应用进程,然后按下 Home 键回到了桌面,此时该应用进程就处于后台进程了。
根据进程中当前活动组件的重要程度,Android 会将进程评定为它可能达到的最高级别。例如,如果某进程托管着服务和可见
Activity,则会将此进程评定为可见进程,而不是服务进程。
本文由职坐标整理并发布,希望对同学们有所帮助。了解更多详情请关注职坐标移动开发之Android频道!
您输入的评论内容中包含违禁敏感词
我知道了
请输入正确的手机号码
请输入正确的验证码
您今天的短信下发次数太多了,明天再试试吧!
我们会在第一时间安排职业规划师联系您!
您也可以联系我们的职业规划师咨询:
版权所有 职坐标-一站式IT培训就业服务领导者 沪ICP备13042190号-4
上海海同信息科技有限公司 Copyright ©2015 www.zhizuobiao.com,All Rights Reserved.
沪公网安备 31011502005948号