android - 服务+安卓 :process "vs" IntentService

标签 android multithreading service process intentservice

我们知道 Service 和 IntentService 之间的区别在于 IntentService 隐式生成工作线程,而 Service 在进程主 (UI) 线程上运行。

这显然表明了它们之间的区别。

但我的问题是,这两者之间有什么区别吗

Service + android:process "vs"IntentService

我的意思是说,如果我们在一个单独的进程中启动服务,除了服务使用进程而 IntentService 使用线程之外,它们之间仍然没有任何区别。

最佳答案

你完全误解了ProcessThread的概念。

IntentService run in a diffrent Thread but run in main process.

对于每个应用程序,默认情况下只有一个进程,您的所有代码都将在其中运行,包括 ServicesActivityIntentService也是。

当你在一个新进程中启动你的Service时,那个Service已经分配了单独的内存和堆区域。它不会直接与主进程通信。对于通信目的你需要使用AIDL

有关更多信息,请查看此 Process and Threads

关于android - 服务+安卓 :process "vs" IntentService,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27684500/

相关文章:

java - 在我的服务中,我想通过另一个服务加载路径

android - 如何在 Java 代码中使用 String.Xml 文件中的颜色

android - 有没有更好的替代 gps 位置跟踪?

Android 将数据库从内部存储复制到外部存储

java - 如何通过 Android 中的线程从资源中获取 XML 文件?

c++ - 有什么理由应该将 C++ 11+ std::mutex 声明为全局变量而不是作为函数参数传递给 std::thread 吗?

ios - 有没有办法让 synchronized 关键字不阻塞主线程

java - 返回时无法访问代码 START_STICKY;

Android getInputStream() 不会检索所有字节,只是偶尔检索

android - 如何将一项服务绑定(bind)到多个应用程序