Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/214.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android服务是进程还是线程?_Android_Service - Fatal编程技术网

Android服务是进程还是线程?

Android服务是进程还是线程?,android,service,Android,Service,根据操作系统,Android“服务”被认为是进程还是线程?这两者都不是,就像一个活动是“进程或线程”一样 Android应用程序的所有组件都在一个进程内运行,默认情况下使用一个主应用程序线程。您可以根据需要创建自己的线程。根据需要,服务可以作为单独的进程实现。 这是一个很好的解释,说明了何时将服务作为一个单独的流程或作为现有应用程序中的一个组件来实现(活动在同一流程中的服务)。好吧,在Android操作系统中处理主机服务,所以它不是一个流程。请看一下a的定义以了解更多详细信息…服务既不是进程也不

根据操作系统,Android“服务”被认为是进程还是线程?

这两者都不是,就像一个活动是“进程或线程”一样


Android应用程序的所有组件都在一个进程内运行,默认情况下使用一个主应用程序线程。您可以根据需要创建自己的线程。

根据需要,服务可以作为单独的进程实现。
这是一个很好的解释,说明了何时将服务作为一个单独的流程或作为现有应用程序中的一个组件来实现(活动在同一流程中的服务)。

好吧,在Android操作系统中处理主机服务,所以它不是一个流程。请看一下a的定义以了解更多详细信息…

服务既不是进程也不是线程。它是进程的一部分,也是主线程。与所有其他组件一样,服务在主线程中运行。。假设-您的应用程序有一个活动和一个服务,那么您的应用程序是一个unix进程,它有一个进程id(pid)并在DVM实例中运行。。。进程生成第一个线程,它是主线程。。默认情况下,您的所有应用程序组件都在主线程中运行-您可以调用单独的线程来执行并行作业。

如果这不是一个单独的进程,为什么要在绑定服务的活动之间通信,我们必须使用AIDL或Messager?@MarcinMierzejewski:您不必使用AIDL或
Messenger
来与绑定服务通信。只有当该服务在另一个进程中时,你才必须使用基于IPC的机制,比如AIDL。那么在大多数情况下使用IPC是一种过分的做法吗?@MarcinMierzejewski:是的。