我用bindService()启动Service,然后得到Binder,通过Binder调用Service里的方法,最后调用unbindService()解除,Service的onDestroy()也调用成功了,可是我还是可以通过之前获得的Binder调用Service里的方法,这是为什么?
代码在下面
最后是打印的信息
我用bindService()启动Service,然后得到Binder,通过Binder调用Service里的方法,最后调用unbindService()解除,Service的onDestroy()也调用成功了,可是我还是可以通过之前获得的Binder调用Service里的方法,这是为什么?
代码在下面
最后是打印的信息
3 回答894 阅读✓ 已解决
2 回答995 阅读✓ 已解决
1 回答780 阅读✓ 已解决
2 回答898 阅读
2 回答831 阅读
1 回答775 阅读
1 回答822 阅读
首先要明确一点,
unbindService()
起作用了。你之所以还是可以调用Service里的方法是因为你持有
myBinder
这个对象,所以Service的生命周期虽然结束了,但是它还没有被垃圾回收机制回收,这个Service对象还在内存中。