Activity的launchMode day7
在功能清单AndroidManifest.xml 里 设置 启动模式
如: <activity android:name=".BActivity" android:launchMode="singleTask"></activity>
1、standard -- 系统的默认启动模式
standard的Activity:
1)可以被实例化多次2)可以在Task(栈)中的任何位置
3)一个新的Intent请求就会实例化一次
2、singleTop
1) 栈顶刚好有该Activity的实例就会重用该实例 不会创建新的Activity对象
不过会调用onNewIntent()方法 -- 调用该方法的作用?2)栈顶没有该Activity实例 -- 也和 standard一样 会创建 新的 实例
3)好处在于栈顶有该Activity 实例 就不用 开辟新的内存空间
3、singleTask
1) 栈的任何位置有该Activity的实例 就会重用该实例 -- 会调用实例的onNewIntent()
没有就新创建一个2) 它并且把该栈上面的实例全部从该栈移除掉
4、singleInstance
1) 每次都会在一个新栈创建该Activity的 实例 -- 也就是TaskId 不同
2)任何运用激活这个Activity 都会重用 该栈中的实例
3)相当于 多个 运用程序 共享一个 运用