关于service的生命周期,我看书发现有3种情况,startService()、bindService()、先startAervice()再bindService(),他们所经历的生命周期都是不一样的。我很好奇为什么没有先bindService()再startService()这种情况?我发现不是一本书是这样的,求解。谢谢
伊谢尔伦2017-04-17 17:48:54
start나 바인딩에 상관없이 서비스 생성 여부를 판단하는 과정을 거친다. 생성되지 않은 경우 생성(onCreate 메소드 실행) 후 특정 메소드가 호출되면 onStartCommand가 호출된다. start이고 stopService 메소드가 호출되지 않으면 서비스는 항상 실행 중인 상태입니다. 바인딩된 경우 onBind 메소드가 호출됩니다. unbindService 메소드가 호출되면 서비스의 onUnbind 메소드가 호출됩니다. 동시에 바인드 전에 서비스에 다른 호출자가 있는지 확인합니다. 그렇지 않으면 서비스가 자동으로 중지됩니다(onDestory 콜백).