activity的启动模式

standard模式,默认模式


standard模式可以允许打开多个相同的实例,也可以使用相同实例叠加。

 

singleTop模式


singleTop模式可以允许存在多个实例,但是不允许实例叠加。

下面这种情况是无法在打开新窗口的

Intent intent=new Intent(MainActivity.this, MainActivity.class);
                intent.setFlags(Intent.FLAG_ACTIVITY_SINGLE_TOP);
                startActivity(intent);

singleTask模式


只允许存在一个实例。当有a1,a2,a3三个activity时。a2为singleTask模式。

打开窗口:a1->a2->a3->a2。内存中的结构为:a1->a2。a3会被干掉。

<activity android:name=".TestActivity" android:launchMode="singleTask"></activity>

singleInstance模式

只允许存在一个实例。当有a1,a2,a3三个activity时。a2为singleInstance模式。

打开窗口:a1->a2->a3->a2。内存中的结构为:a1->a3->a2。

 

posted @ 2017-12-21 15:05  不骄不傲  阅读(122)  评论(0编辑  收藏  举报