I am confused of how the actual lifecycle flow is implemented.
When a user clicks on an application icon, that click goes to a special application called Zygote which then forks a new process for the clicked application to run. I can understand the benefits of doing that.
What is not clear to me is, how does the new application actually starts entering the android lifecycle? I.e. how the main activity is loaded, which of the code runs and how are the lifecycle events/intents are passed/processed as checking the code for Zygote I don't see anything more happening than doing the fork.
The way I understand it there must be something more than just zygote forking a process but I can't figure out what.
Does anyone have any knowledge/guidance on the topic?