您的位置:首页 > 其它

Thread与service

2014-02-26 09:37 134 查看
对Service了解后,会发现它实现的大部分功能使用Thread也可以解决,并且Thread使用起来比Service方便的多,那么为什么还需要使用Service呢,下面来详细解释一下。

  首先,Thread是程序执行的最小单元,它是分配系统资源的基本单位,主要用于执行一些异步的操作。而Service是Android的一种机制,当它使用bindService()被绑定的时候,是运行在宿主主进程的主线程上的,当使用startService()启动服务的时候,是独立运行在独立进程的主线程上的,因此它们的核心没有任何关系。

  其次,对于Thread而言,它是独立于启动它的组件的,如使用一个Activity启动了一个Thread,当这个Activity被销毁前,没有主动停止Thread或者Thread的run()方法没有执行完毕的话,Thread也会一直执行下去,这样就很容易导致一些问题,当这个Activity被销毁之后,将不再持有这个Thread的引用,也就是说,无法再在另外一个Activity中对同一个Thread进行控制。而Service不同,在Android系统中,无论启动或绑定几次,只会创建一个对应的Service实例,所以只要这个Service在运行,就可以在能获取到Context对象的地方控制它,这些特点是Thread无法做到的。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: