Service面试详解

  • service的应用场景,以及和Thread的区别

servcice的基本使用

1. service是什么?

android四大组件之一,一般用于在后台处理一些耗时的逻辑或者执行一些需要长时间运行的人物并且用户不会看到相关页面对用户来说是比较好的体验,必要时能在程序退出的时候扔能让service继续保持一定状态比如保活
service是什么:service(服务)是一个一种可以在后台执行长时间运行操作而没有用户界面的应用组件。srvice和广播都是运行在主线程且都不能做耗时操作!

2. service和Thread的区别
  • service:service是android的一种机制,当他运行的时候如果是本地的service那么他对应的service是运行在主线程上的,相比于thread没有那么独立。

  • thread:程序执行的最小单元-线程,可以执行异步操作。
    service和thread本质上没有关联,service是运行在主线程中不能执行耗时操作。thread是线程可以执行耗时操作,即使要在service中执行耗时操作也需要在service中开启你thread再去执行。

  • 开启service的两种方式以及区别

  • startService
    1.定义一个类继承service

  1. 在Manifest.xml文件中配置该service
    3.使用Context的startService(Intent)方法启动service
  2. 不再使用时,调用stopService(Intent)方法停止该服务
  • bindService
  1. 创建BindService服务端,继承自service并在类中,创建一个实现IBinder接口的实例对象并提供给公共发发给客户端使用
  2. 从onBnd()回调方法返回此Binder实例。
  3. 在客户端中,从onServiceConnected()回调方法接收Binder,并使用提供的方法绑定服务。

你可能感兴趣的:(Service面试详解)