android app启动流程 zygote

现在研究android framework代码。学习App的启动流程的时候,看到这个图。提出两个问题:

1.是否每一个启动的APP都有各独立的一套 ActivityManage,PackageManager,PowerManger等等这些服务?

2.zygote进程有一个监听启动APP的socket。 当有收到启动App请求,fork出来的进程是否也包括这样的一个socket呢?
如果包括,这样两个进程监听同一个端口,不就导致资源冲突了吗?

图片说明

图片说明

http://blog.csdn.net/luoshengyang/article/details/6768304

@苏小喵,非常感谢您的回复。 已经看过了罗大神的博客。 目前还未能找到对这个问题的答案----“fork出来的进程是否也包括这样的一个socket呢?
如果包括,这样两个进程监听同一个端口,不就导致资源冲突了吗?”

找到了答案。 ork出来的进程是否也包括这样的一个socket。 但是创建出来的子进程里面,马上进行清理需要关闭的文件描述符(包括socket),设置进程权限操作(因为zygote是具有root权限的,而普通的app是没有root权限的)

代码如下:
图片说明