Activity四大启动模式 简单介绍
启动模式
启动模式用好可以避免重复创建相同的Activity,合理节省空间。当点击跳转Activity时,需要创建一个新的实例,并把它存入任务栈内;多次创建,多次添加,一层一层累加。任务栈是后进先出,点击返回先退出刚才点击进入的Activity,按照顺序依次退出。直到任务栈内没有Activity,会回收这个任务栈。
Standard
系统默认启动模式,每次点击跳转Activity,都会创建一个新的Activity,即使存在也会重新创建。点击返回键,会按照点击顺序依次退出Activity
SingleTop
栈顶复用模式:此Activity已经存在任务栈并且在栈顶,再次点击不会创建,会调用的是它的 onNewInstance() 方法,通过此方法获取请求数据。假如不在栈顶,会再次创建
SingleTask
栈内复用模式:单实例模式。创建Activity之前,会在栈内查找是否存在这个实例,存在的话会重新启动,并将它上面的Activity全部出栈,调用 onNewInstance() ;不存在则创建。
SingleInstance
单实例模式:唯一性,栈内复用。具备SingleTask全部特性,该模式创建的Activity只能存在一个任务栈内,启动相同的Activity,会先在任务栈内查找,并调用前台,不会重复创建
启动方式
清单文件设置
Intent设置
第二个优先级高于第一个,两个都存在时,以第二个为准。
清单文件无法设置 FLAG_ACTIVITY_CLEAR_TOP;Intent无法设置 SingleInstance 。