ActivityThread.main()函数在哪里被调用的(二)

上一篇:ActivityThread的main方法在哪里被调用的?

代码实际发生的执行顺序,如果我们从最后结果(ActivityThread.main执行)开始,逆向(反推)一步一步追溯回最初的起点,整个过程是这样的:


第 1 步(逆向起点):ActivityThread.main()正在被执行

  • 发生的事情:UI 线程的主 Loop 开启(Looper.loop()),App 界面准备绘制。
  • 逆向提问谁直接调用了ActivityThread.main()
  • 追溯答案:是Zygote.MethodAndArgsCaller这个类的run()方法。
// Zygote.java 内部类 MethodAndArgsCallerpublic