再次,当合适的Trigger事件来临,SystemInfrastructure会搜索与这个Trigger相匹配的后台任务,然后启动该后台任务。
有一个名为UscrPresent的触发器。该触发器表示以下事件:用户登录到计算机,或者休息(在短时间内计算机上没有用户活动)后返冋计算机。
与该触发器结合使用,InternetAvailable条件表示后台任务将在用户在场并且Internet可用的情况下立即启动。如果用户返回计算机,但Internet不可用,那么后台任务不会启动。
包含后台任务的应用程序注册有关应该用于启动后台任务的触发器的详细信息.在上述特定情况中,应用程序注册UserPresent触发器,这是一个系统事件触发器。
后台任务跟应用程序的关系,可以理解为后台任务是应用程序里面一个非常立的组件,它并不是运行在应用程序的线程上的,它运行的线程是完全立的,后台任务与前台任务的区别是:前台任务会占据整个屏幕,用户直接与其进行交互:而后台任务不能与用户交互是后台务依然可以对磁贴(Tile),吐司通知(Toast)和锁屏(LockScreen)进行更新和操作。因为前台要与用户交互,它使用所有可用的系统资源,包括CPU处理时间和网络资源等,并且不受限,而后台任务使用系统资源的时候是受限制的。
我们知道,Windows应用程序的生命周期分为Running、Suspcnded、Terminated三种状态。应用程序处于前台时,为Runnmg状态;处于后台时,为Suspended状态,用户关闭应用程序时或者在Suspended状态太久,系统自动关闭应用程序时,为Terminated状态。那么,后台任务应该在应用程序的3种状态下运行,也就是说它对于应用程序的状态是完全立,但是如果应用程序在Running状态下,应用程序是可以对后台任务进行操作的,比如关闭、汇报进度等,应用程序在前台运行的时候可以对后台任务进行控制。
虚线两边分别表示Application和System。Application就是我们的应用程序,System就是负责处理后台任务的Service。,在应用程序里面,我们要注册Trigger,也就是任务的触发器,相当于是在某个时机适当地触发后台任务的运行。其次,在应用程序中注册后台任务,在后台任务里面会实现相关的操作以及包含了什么样的Trigger可以触发这个后台任务,注册之后,在SystemInfrastructure(系统的基础服务)中就保留了这个注册信息。
佛山亮灯手印启动台出租公司
更新时间:2020-07-22 16:33:08