启动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,怼他!哈哈~

推荐阅读更多精彩内容