Service和Thread的关系

Service确实是运行在主线程里的,也就是说如果你在Service里编写了非常耗时的代码,程序必定有问题。

 

Android的后台就是指,它的运行是完全不依赖UI的。即使Activity被销毁,或者程序被关闭,只要进程还在,Service就可以继续运行。

一个进程里面,主线程有Activity+Service,比如有时我们会手动关掉Activity,带Service还在后台运行着,跟服务器连接。

耗时的任务只要在Service再创建一个进程就好了

 

为什么不用Thread。

1、Activity很难对Thread进行控制,当Activity被销毁之后,就没有任何其它的办法可以再重新获取到之前创建的子线程的实例。

2、如果没有在Activity的OnDestory里面设置stopThread=true,那Activity销毁之后,线程还在,控制不了。

3、在一个Activity中创建的子线程,另一个Activity无法对其进行操作。

4、所有的Activity都可以与Service进行关联。

5、即使Activity被销毁了,之后只要重新与Service建立关联,就又能够获取到原有的Service中Binder的实例。

6、使用Service来处理后台任务,Activity就可以放心地finish,完全不需要担心无法对后台任务进行控制的情况。

 

 

所以这种定时要和服务器交互的情况下,是不是服务更好一些?

 

转载于:https://www.cnblogs.com/wzben/p/5683836.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值