1、使用场合:Service类是专门用于创建用来处理长生命周期操作的应用程序组件,以及不需要用户界面的功能。
2、高优先级:Service的优先级高于非活动状态(已经从Activity栈中移除,注意是移除而不是被压桟)的Activity。当系统请求资源时,他们被终止的可能性较小。如果运行时过早地终止一个已经启动的Service,一旦系统有可用资源,该Service会被立即重新启动。
必要的时候可以将Service的优先级提升到和前台Activity一样高的优先级(即使Service在前台 运行),设置的方法是调用startForeGround方法。startForeGround调用时需要指定一个持续工作的Notification(也可以不指定,即设置这个需要填写Notification参数的地方填写null),只要Service在前台运行这个通知就会显示。
3、前台Service:前台Service由于具有比较高的优先级,所以只有在绝对有必要的情况下使用该技术。并且最好提供一种简单的方式允许用户禁用一个前台运行的Service——通常就是借助于已指定的那个Notification(例如点击Notification终止前台Service)。
可以再不在必要的时候将前台Service移至后台:stopForeground
2、高优先级:Service的优先级高于非活动状态(已经从Activity栈中移除,注意是移除而不是被压桟)的Activity。当系统请求资源时,他们被终止的可能性较小。如果运行时过早地终止一个已经启动的Service,一旦系统有可用资源,该Service会被立即重新启动。
必要的时候可以将Service的优先级提升到和前台Activity一样高的优先级(即使Service在前台 运行),设置的方法是调用startForeGround方法。startForeGround调用时需要指定一个持续工作的Notification(也可以不指定,即设置这个需要填写Notification参数的地方填写null),只要Service在前台运行这个通知就会显示。
3、前台Service:前台Service由于具有比较高的优先级,所以只有在绝对有必要的情况下使用该技术。并且最好提供一种简单的方式允许用户禁用一个前台运行的Service——通常就是借助于已指定的那个Notification(例如点击Notification终止前台Service)。
可以再不在必要的时候将前台Service移至后台:stopForeground