相同点
执行异步操作
不同点
1.运行线程
Service运行在主线程中,所以不能进行耗时操作,否则报ANR异常;
Thread是工作线程,可以进行耗时操作。
2.运行范围
2.1 Service:
a.如果是一般服务(不通信),Service开启后,则不依赖UI、Activity,只要进程存在,Service就可以继续运行
b.所有的Activity都可以与Service进行绑定关联,获取Binder实例并操作其中方法
c.若要处理耗时操作,则需要在Service中创建Thread子线程进行操作
2.2 Thread:
a.依赖于UI/Activity
b.在一个Activity中创建的子线程,不能在其他Activity中对其进行操作
c.Activity被销毁后,就无法获取到之前创建的子线程的实例
网友评论