Android service学习

onDestroy()html

当服务再也不使用且将被销毁时,系统将调用此方法。服务应该实现此方法来清理全部资源,如线程、注册的侦听器、接收器等。 这是服务接收的最后一个调用。android

 <service> 元素 请始终使用显式 Intent 启动或绑定 Service,且不要为服务声明 Intent 过滤器。能够经过添加 android:exported 属性并将其设置为 "false",确保服务仅适用于您的应用。这能够有效阻止其余应用启动您的服务,即使在使用显式 Intent 时也如此。app

启动服务由另外一个组件经过调用 startService() 启动,这会致使调用服务的 onStartCommand() 方法。ide

服务启动以后,其生命周期即独立于启动它的组件,而且能够在后台无限期地运行,即便启动服务的组件已被销毁也不受影响。 所以,服务应经过调用stopSelf() 结束工做来自行中止运行,或者由另外一个组件经过调用 stopService() 来中止它。ui

应用组件(如 Activity)能够经过调用 startService() 方法并传递 Intent 对象(指定服务并包含待使用服务的全部数据)来启动服务。服务经过onStartCommand() 方法接收此 Intentgoogle

 

 

IntentService线程

这是 Service 的子类,它使用工做线程逐一处理全部启动请求。若是您不要求服务同时处理多个请求,这是最好的选择。 您只需实现 onHandleIntent() 方法便可,该方法会接收每一个启动请求的 Intent,使您可以执行后台工做。code

相关文章
相关标签/搜索