Android从入门到精通第13章:Service应用

来源:互联网 发布:java native方法 编辑:程序博客网 时间:2024/05/17 20:02

Service是能够在后台执行长时间运行操作,并且不提供用户界面的应用程序组件。


服务可以分为两类:

  • Started
  • Bound
服务可以是以上一种,也可以是同时属于。重点在于是否实现一些回调方法。
onStartCommand()方法允许组件启动服务,onBind()方法允许组件绑定服务。

创建Started Service

Started Service是由其他组件调用startService()方法启动的,这导致服务的onStartCommand()方法被调用。

  • 继承IntentService类:因为多数服务不必同时处理多个请求,简化启动服务的实现。工作队列
  • 继承Service类:服务处理多线程

创建Bound Service
实现绑定服务时,最重要的是定义onBind()回调方法返回的接口,共有3种方式:
  • 继承Binder类:服务仅用于私有应用程序时。如果服务可以用于其他应用程序或者访问独立进程时,不能使用。
  • 使用Messenger:接口跨进程工作。使用Messenger是执行IPC最简单方式,因为Messenger类将所有请求队列化到单独的线程。
  • 使用AIDL:Android接口定义语言。

0 0