混合使用startService与bindService时的情况

来源:互联网 发布:伊巴卡生涯数据 编辑:程序博客网 时间:2024/05/25 23:26
 

http://lhc966.iteye.com/blog/1051708

 

1.如果先bindService,再startService:

在bind的Activity退出的时候,Service会执行unBind方法而不执行onDestory方法,因为有startService方法调用过,所以Activity与Service解除绑定后会有一个与调用者没有关连的Service存在

 

2.如果先bindService,再startService,再调用Context.stopService

Service的onDestory方法不会立刻执行,因为有一个与Service绑定的Activity,但是在Activity退出的时候,会执行onDestory,如果要立刻执行stopService,就得先解除绑定

 

---------------------------

把上面的"如果先bindService,再startService"换成"如果先startService,再bindService",结果是一样的

 

 

 

问题:

 

如果在一个Activity的onCreate方法中,

bindService(serviceIntent, conn, Context.BIND_AUTO_CREATE);

再startService(serviceIntent);

退出这个Activity时,会执行onUnBind

但是再次进入这个Activity的时候,为什么不执行onBind方法了?只有在这个Service销毁后(执行onDestory),再进这个Activity才会执行onBind

原创粉丝点击