Android项目的启动一般过程:


1.读取并解析“AndroidManifest.xml”文件,找到启动的Activity

2.反射方式创建Activity对象,回调onCreate方法(onCreate方法中调用setContextView创建界面对象)




一个空白的Android项目启动过程:


“AndroidManifest.xml”文件中,找到相应启动的Activity


2.系统创建MainActivity对象(创建方式为反射方式)


3.系统再通过此对象调用(回调方法)MainActivity类中的onCreate




Activity的启动模式,也叫加载模式。


Activity是存在栈中。


Activity的启动模式有四种:


1.standard:标准模式


这是一般使用,为默认模式,向上存。


一个栈最多存20个,超过则会将栈最下面的栈销毁(1),上面增加新的栈,当在销毁到之前销毁的activity(1),


此时又将创建在栈中重新创建这些(1),然后再次进行不同的操作。



2.singleTop:共享栈顶


新创建activity前,要先与栈顶的activity进行比较,如果相同就不产生新的,而是调用activity中的newInstance()方法,如果


不在栈顶,就会产生新的实例。



3.singleTask:共享栈


新创建activity前,要先在栈中查看是否存在,如果有就不产生新的,而是将其前面的全部销毁,否则,产生新的实例。





4.singleInstance:共享引用


没有就产生,有就将其调位到栈顶,不销毁对象








配置启动模式:


在AndroidManifest.xml文件下配置launchMode属性


eg:

<activity 

 

  ...... 

 

  android:launchMode="启动模式" 

 

  >