Service面试详解
- Service的应用场景,以及和Thread区别
- 开启Service的两种方式以及区别
Service是什么
Service(服务)是一个一种可以在后台执行长时间运行操作而没有用户界面的应用组件。
Service和Thread的区别
Service是运行在主线程中,不能运行耗时操作。
Thread是程序运行的最小单元,是cpu分配的最小单位,运行在子线程中,可以执行耗时操作。
Service的启动方式
- startService()
- 定义一个类继承Service
- 在Manifest.xml文件中配置该Service
- 使用Context的startService(Intent)方法启动该Service
- 不再使用时,调用stopService(Intent)方法停止该服务
- bindService
- 创建BindService服务端,继承自Service并在类中,创建一个实现IBinder接口的实例对象并提供公共方法给客户端调用
- 从onBind()回调方法返回此Binder实例
- 在客户端中,从onServiceConnected()回调方法接收Binder,并使用提供的方法调用绑定服务。