android Service总结

1,service没有启动,调用顺序:使用startService:onCreate-〉onStartCommand-〉onStart,使用bindService:onCreate->onBind->onServiceConnected

2,service已经启动,调用顺序:使用startService:onStartCommand-〉onStart,使用bindService:(1)已经bind,新的bind Context:onServiceConnected,同一个Context  bind无反应(2)没有bind,bind-〉onServiceConnected。

3,如果没有bind到某一个connection,调用unBind这个connection,会crash。

4,如果bind到一个Context的connection,当这个conneciton销毁前没有调用unbind,会内存泄露。

5,如果是通过startService启动的service,bind在unbind后service不会停止。

6,如果是通过startService启动的service,bind后没有unbind调用stopService,Service不会停止。

7,只有service有bind没有解除,stopService就不会起作用。

8,如果没有bindService,无论多少次startService,调一次stopService,service就会停止。

9,bindService后startService,在unbindService,service不会停止。

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
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之间进行通信,需要根据具体的业务需求选择合适的通信方式。 总之,ServiceAndroid开发中非常重要的组件,掌握其使用方法和生命周期函数对于开发高质量的Android应用程序非常有帮助。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值