Service与Thread的区别
不知道大家有没有和我一样的疑惑,在学习Android Service的时候,发现它和Thread很像。虽然,教程中一再强调,Service不是Thread,但是用了好久也没有发现他们的区别,在很多地方,都错误的使用Thread来代替Service去工作。但时间长了,发现Service和Thread区别很大,跟确切的说,他们不是一个东西!
1.Service 是android的一种机制Service 是运行在主进程的 main 线程上的。而Thread顾名思义会开辟一个线程去执行它是分配CPU的基本单位。
2.Thread是独立于Android体系之外的类,而Service中可以获取到Android Application、AssetManager等Android的对象,也可以调用getSystemService等Android中的方法。
3. Service类创建之后,可供其他组件(Activity、Service等)操作,甚至Service也可以供其他进程使用,而Thread做不到。
4.在一个没有任何Activity的应用程序中Service可以独立创建并执行,而Thread需要依附于一个已经运行起来的组件才可以创建运行。