1.standard(默认的)
每次启动时创建新的实例,退出活动需要返回三次。
2.singleTop
启动活动时,如果返回栈的栈顶已经是该活动,直接使用它,不再创建新的实例。退出活动需要返回三次。
小例子:
新建一个FirstActivity和SecondActivity,点击FirstActivity中的按钮,打开SecondActivity,点击SecondActivity的按钮打开FirstActivity。
3.singleTask
每次启动活动时系统首先在返回栈中检查是否存在该活动的实例,如果没有发现就会创建一个新的活动实例。
4.singleInstance
打破了每个App一个栈的常规,而是新建一个栈,用到哪个App的活动就将哪个活动剪切过来。
活动被回收了,临时数据丢失了,怎么办??
判断当前活动是哪一个活动
新建一个java类,命名为BaseActivity,让他继承AppCompatActivity,并重写onCrate方法,在其中添加如下代码:
修改FirstActivity,SecondActivity,ThirdActivity,让他们继承自BaseActivity,运行就能看到当前活动是哪个活动了。
随时随地退出程序
启动活动的最佳写法