您的位置:首页 > 其它

第1章 Activity的生命周期和启动模式 1.2 Activity的启动模式

2016-02-22 16:31 323 查看

1.2 Activity的启动模式

1、启动模式种类:

(1)standsrd:标准模式;每次启动一个Activity都会重新创建一个新的实例,并进入启动它的任务栈中。
(2)singleTop:栈顶复用模式;如果新Activity已经位于任务栈的栈顶,那么Activity不会被重新创建,同时它的onNewIntent方法会被回调,通过此方法的参数可获得当前请求的信息,反之同standard。
(3)singleTask:栈内复用模式;单实例模式,启动Activity后,①任务栈不存在,重新创建,再创建实例放入栈中。②任务栈存在,实例不存在,创建实例压入栈中。③都存在,把实例调至栈顶并调用它的onNewIntent方法。
注:如果栈中Activity的排列顺序为DCBA,那么如果直接启动Activity B,则栈中Activity的排列顺序为BA,D也会出栈,因为(3)具有clearTop的功能。
(4)singleInstance:单实例模式;一个栈中只有一个Activity。

2、指定启动模式的方法:

(1)AndroidManifest.xml中Activity节点中android:launchMode="singleTask"。
(2)动态设置:intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASKS);

3、使用adb shell dumpsys activity命令可查看任务栈的相关信息。

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: