0
点赞
收藏
分享

微信扫一扫

startService和bindService的使用

龙毓七七 2022-02-08 阅读 40
android

Service 生命同期

在这里插入图片描述

startService 和bindService 区别

startService: onCreate -> onStartCommand -> onDestory ,在多次调用startService的时候,onCreate不重复执行,但是onStartCommand会执行。startService调用了这后,会一直存在,直到其调用了stopService。

bindService : onCreate -> onBind -> onUnbind -> onDestory,多次调用bindService,onCreate及onBind都只执行一次。它生命周期跟随其调用者,调用者释放的时候,必须对该Service解绑,当所有绑定全部取消后,系统即会销毁该服务。 bindService 的方式通过onServiceConnected()方法,获取到Service对象,通过该对象可以直接操作到Service内部的方法,从而实现调用者与Service之间的交互。

startService & stopService的生命周期

1、单独使用startService & stopService
2、单独使用bindService & unbindService
3、startService与bindService混合使用
使用场景:在activity中要得到service对象进而能调用对象的方法,但同时又不希望activity finish的时候service也被destroy了,startService和bindService混合使用就派上用场了。

参考:
startService和bindService的区别,生命周期以及使用场景
【Android】startService和bindService混合使用总结

举报

相关推荐

0 条评论