Android学习计划

(学习02)理解Service

2017-11-28  本文已影响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的生命周期描述以及运行的线程说明?

(未完待续)

上一篇下一篇

猜你喜欢

热点阅读