android - 关于service的生命周期的疑问

【字号: 日期:2022-11-24浏览:25作者:雯心

问题描述

关于service的生命周期,我看书发现有3种情况,startService()、bindService()、先startAervice()再bindService(),他们所经历的生命周期都是不一样的。我很好奇为什么没有先bindService()再startService()这种情况?我发现不是一本书是这样的,求解。谢谢

问题解答

回答1:

无论start还是bind都会经历判断Service是否创建, 如果未创建, 就会创建(onCreate方法执行), 然后在调用特定的方法比如果是start就会调用onStartCommand, 并且在没有调用stopService方法的时候, 该Service会一直处于正在运行状态, 如果是bind就会调用onBind方法, 如果unbindService方法调用后, 会调用Service的onUnbind方法, 同时会检查该Service是否在bind前还有其他调用者, 如果有, 该Service则不会停止, 如果没有, 该Service会自动停止(onDestory回调)

相关文章: