Whenan application component starts and the application does not have any othercomponents running, both operating systems starts a new process for theapplication with a single thread of execution. In both OS By default allcomponents of the same application run in the same process and thread (calledthe “main” thread) in android main thread is called UI thread. Eachprocess is made up of one or more thread which run dependently or independentlyand every thread use the same virtual memory and address space of the process.In android all components of the same application run in the same process andmost applications should not change this if to control which process a certaincomponent belongs to, this can be done in manifest file. If a new application needto start and there is not enough space in the memory then both the OS androidand iOS forcefully shut down the process according to their importance tocreate space for new process. There is a hierarchy of processes to determinewhich process will be killed first or last while system is low on memory, inandroid foreground process, visible process, service process, backgroundprocess & empty process. In iOS the hierarchy is same like this foregroundprocesses, background processes, suspended processes & not runningprocesses, the list is based on “importance hierarchy” it mean importance of first process is highso it will be killed at last while last one killed first. There are differentstates of a process, in android states are created, running, Paused, stopped& killed, in iOS states of process is Not running, active, inactive, background& suspended.
Android provides a proper mechanism for inter processcommunication IPC through RPCs Remote procedure calls, in which a method iscalled by an activity or other application component, but executed remotely (inanother process), with any result returned back to the caller. In iOS twotechniques are used for IPC which is Grand central dispatch and pasteboard. Inboth Operating systems processes can perform I/O operations.