美文网首页Android学习计划
(学习02)理解Service

(学习02)理解Service

作者: 这一刻幸福 | 来源:发表于2017-11-28 16:24 被阅读0次

    什么是Service?

           Service是Android四大组件之一,是一种计算型组件,运行于主线程中,用于在后台执行一系列计算任务(但是耗时计算仍然需要在单独的线程中完成,不能用Service处理)。

           Service有两种状态:启动状态,绑定状态。启动状态下的Service不能与外界有直接的交互通信;绑定状态的Service可以方便的与外界进行通信。

    问题一、Service的start和bind状态有什么区别?

        start启动的service,service有独立的生命周期,不依赖某个组件。

        多次调用onStart方法,会调用多次onStartCommand,start启动的service,必须通过stopService或者stopSelf来停止service(intentService会自动调用stopSelf方法)。

        多次调用bind方法,只会调用一次onBind方法。bind绑定的service,service会依赖该组件,组件销毁,Service跟随组件销毁。

    问题二、同一个Service,先startService,然后bindService,如何把它停止掉?

        startService方法不论调用多少次,都只需要一次stopService即可停止。

        bindService多次,会调用一次stopService跟多次unBindService方法,但是如果是同一个组件bind同一个Service多次,那么只需要调用unBind一次。执行完stopService跟unBindService后,会调用onDestoryService方法一次。

    问题三、Service的onStartCommand方法的返回值描述?不同返回值有什么区别?

    问题四、Service的生命周期描述以及运行的线程说明?

    (未完待续)

    相关文章

      网友评论

        本文标题:(学习02)理解Service

        本文链接:https://www.haomeiwen.com/subject/bklebxtx.html