采纳答案成功!
向帮助你的同学说点啥吧!感谢那些助人为乐的人
handleChildProc方法中有一行代码ZygoteInit.closeServerSocket() 是什么意思,关闭了socket不就无法继续循环监听了么?
您好,zygote正常工作是在一个while循环里面处理socket消息,如果退出循环说明异常了,这时候关闭socket没毛病。
老师你好,我还是没搞懂,我看的是6.0.0的源码,ZygoteConnection.java的handleChildProc方法第一二行代码就是关闭Socket,也没有放在异常处理逻辑里面;看注释也是说native code关闭了连接,但是代码执行到handleChildProc方法不应该是正确流程,怎么会是异常呢?
您好,我之前提到的异常是指的zygote进程。对于普通的应用进程,这个socket是从zygote继承过来的,应用进程跨进程通信用Binder,不需要用到socket,所以可以直接关掉。
明白了,谢谢
登录后可查看更多问答,登录/注册
一手助力冲刺Android高级职位,一手把握系统底层原理,理清面试思路,提升技术段位
2.8k 4
763 16
749 8
1.0k 8
1.3k 7