Android Service 生命周期

官放图.jpeg

先解释第一列

调用startService()
就会先后依次调用onCreate()和onStartCommand()(如果之前Service已经创建成功了并且没有被销毁,就会只调用onStartCommand())
这就意味着,Service不会重复创建,只会在重复调用startService()的时候,反复调用onStartCommand()而已,想要停止服务就直接调用一次stopService()或stopSelf()就可以了。

要想销毁Service,直接stopService(),onDestroy()就会被执行。

再解释第二列

调用bindService()
就会先后依次调用onCreate()和onBind()(如果之前Service已经创建成功了并且没有被销毁,就会只调用onBind())
这就意味着,Service不会重复创建,只会在重复调用bindService()的时候,反复调用onStartCommand()而已,想要停止服务就直接调用一次unbindService()就可以了。

要想销毁Service,直接unbindService()就可以了

如果startService()和bindService()都调用了

那么需要stopService()和unbindService()都调用才会调用onDestroy()

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容