Android的四种启动模式

来源:互联网 发布:linux可执行文件格式 编辑:程序博客网 时间:2024/05/16 03:23

1、启动模式通俗的说就是Activity启动时的策略,在AndroidManifest.xml文件中的android:launchMode属性设置。

   启动模式有四种:standard、singleTop、singTask、singInstance。

   介绍四种模式之前,先介绍下任务栈的概念

   任务栈:每个应用都有一个任务栈,用来存放Activity的,Activity在栈中的顺序和其启动的先后顺序是一致的。

2、四种启动模式

    standard启动模式:是Activity默认的启动模式,设置此属性的Activity启动时不管栈中是否存在该Activity的实例,都会重新创建Activity新的实例。这种启动模式在实际开发中往往不能满足我们的需求,而且对系统资源的耗费比较大。

    singleTop启动模式:设置该属性的Activity在启动时先查看任务栈的栈顶是否存在该Activity的实例,如果存在就不再创建新的Activity实例(必须在栈顶),这种启动模式解决了栈顶复用的为题,避免在栈顶存在多个同一个Activity的实例。

    singleTask启动模式:设置该属性的Activity启动时会在整个任务栈中查找是否存在该Activity的实例,如果存在就将Activity上面的Activity消灭掉,使Activity升至栈顶。这种启动方式实现了同一个应用中同一个Activity实例的共享。

    注:singleTask可以用来退出整个应用。将主Activity设为SingTask模式,然后在要退出的Activity中转到主Activity,然后重写主Activity的onNewIntent函数,并在函数中加上一句finish。

    singleInstance启动模式:设置该属性的Activity在启动时,系统会将该Activity的实例放入一个新的任务栈中,并且允许其他应用加入该任务栈。这种启动方式实现了多个应用共享同一个Activity实例。

    

1 0
原创粉丝点击