(学习02)理解Service

什么是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的生命周期描述以及运行的线程说明?

(未完待续)

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容