onRebind什么时候使用

转载自:绑定服务时什么时候调用onRebind


Serivce中onRebind被调用的时机很特别,想知道什么时候onRebind被调用,可以接下面的次序来学习,最后自然就明白了!

1. 首先要知道,同一个服务既可能被启动也可以被绑定;

2. Service中onRebind方法被调用,只要符合两个必要条件就行

    (1)服务中onUnBind方法返回值为true

    (2)服务对象被解绑后没有被销毁,之后再次被绑定


有两个场景,这里就举一个场景的例子,另外一个场景看原创文章:绑定服务时什么时候调用onRebind

1.startService(onCreate, onStartCommand);

2.bindService(onBind); 

3.unbindService(onUnBind,确保 onUnbind返回 true,由于服务被启动过,所以Service中onDestroy不会被调用);

4.再次bindService, 这次绑定的服务对象是之前已经创建好的,所以这次绑定服务时会调用onReBind方法,并且本次不会调用onBind方法。


在Android开发中,Service是一个非常重要的组件,用于在后台执行长时间运行的操作,不与用户交互。以下是本次实验的总结: 1. Service生命周期 Service的生命周期包括:onCreate()、onStartCommand()、onBind()、onUnbind()、onRebind()和onDestroy()。开发者可以根据不同的业务需求实现这些生命周期函数。 2. Service的启动和停止 Service的启动和停止有两种方式:使用startService()和stopService()方法来启动和停止Service;使用bindService()和unbindService()方法来绑定和解绑Service。需要注意的是,使用startService()方法启动的Service会一直运行,直到调用stopService()方法或者Service自己调用stopSelf()方法;使用bindService()方法启动的Service会在与之绑定的Activity销毁时自动停止。 3. Service的通信 Service可以和Activity之间进行通信,可以使用Intent传递数据,也可以使用Messenger进行通信。如果需要在Service中执行耗时操作,需要在Service中开启一个新的线程来执行,否则会阻塞主线程。 4. Service的注册 在AndroidManifest.xml文件中注册Service,可以使用以下代码: ``` <service android:name=".MyService" /> ``` 5. Service的注意事项 在使用Service时,需要注意以下几点: - Service是在主线程中运行的,不能在Service中执行耗时操作,否则会阻塞主线程。 - Service一旦启动就会一直运行,需要在适当的时候停止Service。 - Service可以和Activity之间进行通信,需要根据具体的业务需求选择合适的通信方式。 总之,Service是Android开发中非常重要的组件,掌握其使用方法和生命周期函数对于开发高质量的Android应用程序非常有帮助。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值