我们知道 Service 和 IntentService 之间的区别在于 IntentService 隐式生成工作线程,而 Service 在进程主 (UI) 线程上运行。
这显然表明了它们之间的区别。
但我的问题是,这两者之间有什么区别吗
Service + android:process "vs"IntentService
我的意思是说,如果我们在一个单独的进程中启动服务,除了服务使用进程而 IntentService 使用线程之外,它们之间仍然没有任何区别。
最佳答案
你完全误解了Process
和Thread
的概念。
IntentService run in a diffrent Thread but run in main process.
对于每个应用程序,默认情况下只有一个进程,您的所有代码都将在其中运行,包括 Services
、Activity
和 IntentService
也是。
当你在一个新进程中启动你的Service
时,那个Service
已经分配了单独的内存和堆区域。它不会直接与主进程通信。对于通信目的你需要使用AIDL
有关更多信息,请查看此 Process and Threads
关于android - 服务+安卓 :process "vs" IntentService,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27684500/