启动service的小结

  • 同时start和bind
    在某个activity中,同时startService和bindService,此时停止service需要同时 stopService和unbindService。

  • 多次startService
    在某个activity中,连续startService,此时只会在第一次启动时执行oncreate()方法,第二次及以后,只会执行onStartCommand

  • 不同Activity启动同一个service
    1.在ActivityA中启动Service后 ,在ActivityB又start一次Service,
    此时:在B中stopService,执行onDestroy;在A中stopService无方法执行。结论:stop一次就会销毁service
    2.ActivityA中startService,ActivityB中bindService ,此时B中unbindservice,执行onunbind(),并不会ondestroy,除非A中stopservice

  • 多次bindservice

  • 同一个Activity中,多次bind无效

  • 不同activity中,在ActivityA中启动bindService后 ,在ActivityB又bind一次Service,此时: 程序报错android.app.ServiceConnectionLeaked;
    结论:stop一次就会销毁service

以后面试再问service,怼他!哈哈~

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

推荐阅读更多精彩内容