Process communication is the mechanism by which application processes Exchange data and service objects through the operating system. Traditional interprocess communication (IPC) of the Linux operating system is available in several ways, such as pipelines, command pipelines, semaphores, shared memory, Message Queuing, and network and UNIX sockets. While in theory Android systems can still use traditional Linux process communication mechanisms, in practice, Android applications rarely use these traditional methods. In the Android application design architecture, even the concept of process is not visible, instead of the components from the point of view, such as Intent,activity,service,content Provider, to implement the communication between components. Android applications typically consist of a series of activity and service, and the General Service runs in a separate process, and activity can run in the same process or in a different process. Activities and services in different processes work together to achieve complete application functionality, and communication is required to obtain data and service. This is the return to the ancient Client-server model. Client-server-based computing model is widely used in various fields of distributed computing, such as Internet, database access and so on. In embedded smart handheld devices, this client-server approach is ubiquitous in order to provide functionality to application developers in a unified mode. Media playback, audio and video devices, sensor devices (acceleration, azimuth, temperature, light intensity, etc.) are managed by different server (servers) in the Android system, and applications that use the service can only initiate requests to the server as a client.
Android security Model Android security mechanism (process communication)