通过Android源代码分析startActivity()过程(下)
#通过Android源代码分析startActivity()过程(下) 继续分析startActivity()。 上一篇blog 讲到通过zygote进程fork出了一个新的应用进程,接下来我们需要分析这个进程启动之后的事情。 zygote进程fork出一个新的app进程后,就会调用他ActivityThread类的的main方法来启动它,所以,一个新进程的真正入口并不是我们通常所说的Application#onCreate方法,而是ActivityThread#main方法。 我们就从这个main方法开始分析: public static void main(String[] args) { //1. 为本进程准备好UI线程的消息队列和Looper Looper.prepareMainLooper(); //2.把ApplicationThread跟远程AMS关联起来 ActivityThread thread = new ActivityThread(); thread.attach(false); if (sMainThreadHandler == null) { sMainThreadHandler = thread.getHandler(); } //3. 开始执行消息循环 Looper.loop(); throw new RuntimeException("Main