Android Service 研究

本文探讨了Android中的Service组件,一种可在后台长期运行且无界面的服务。文中详细解释了通过startService与bindService两种方式启动Service的区别及应用场景,并介绍了如何正确处理耗时操作。

最近闲来无事,重新研究了下service,现在说一下对service的大概了解。


service是一种长期运行在后台的,无界面的服务。有两种情况可以启动service,startService与bindService。如果在与组件无交互的时候可以使用startService,比如我下载一个文件,下载好了关闭服务。如果在进行与组件有交互的时候,我觉得可以使用bindService,bindService较为复杂。提供IBinder接口来与组件进行通讯,多个组件可以在同一时间绑定到同一个service,当所有的组件都解绑的时候,该服务销毁。

这两种启动方式可以同时使用,例如我可以先startService然后再bindService,此时你需要同时实现onStartComment()和onBind()方法。

启动的service默认是运行在主线程中,所以进行长时间的耗时操作的话,必须另外起一个线程,也可以使用官方文档的IntentService。IntentService处理发送过来的请求在一

个单独的worker thread。

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值