本章我们来分析Activity的启动过程。
我们知道,Activity可以通过两种方式启动:一种是点击应用程序图标,Launcher会启动主Activity;另一种是在应用程序内部,调用startActvity启动新的Activity。无论哪种启动方式,都要通过ActivityManagerService服务来启动,另外Service也是由ActivityManagerService进程启动的。
我们以Activity的startActivity为起点,来看下Launcher启动主Activity的调用过程。
应用进程端
Activity启动,是从应用程序端,通过startActivity发出的调用。
startActivity
我们来看startAcrtivity方法。
startActivity定义
startAcrtivity方法是在Context中定义的:
public abstract void startActivity(Intent var1);
public abstract void startActivity(Intent var1, @Nullable Bundle var2);
这是两个抽象方法,需要子类来实现。
Context的继承关系
Context的继承关系中,有2个子类是跟sta