Activity4启动模式

http://www.jcodecraeer.com/a/anzhuokaifa/androidkaifa/2015/0520/2897.html
讲的比较清楚,在此基础上稍作笔记。
standard :即使要启动的activity不在一个应用程序,但仍然会和发送intent的在同一task
并且每一个Activity的hashcode都是不一样的,说明他们是不同的实例,即“每次启动一个Activity都会重写创建一个新的实例
即:谁启动了该模式的Activity,该Activity就属于启动它的Activity的任务栈中

SingleTop:
应用场景:点击notification,如果notification跳转的页面已经在了,就 不去启动新的activity而是复用task中栈顶的activity. 这时会调用newInstent(),不再调用onCreate() 了
SingleTask:
在同一应用中时:若Activity实例不存在task,则会在同一task新建一activity,如果存在但不在栈顶,就会先onNewIntent()--onDestroy销毁它上面的activity;
而如果这个activity 除了 launchMode=“singleTask”还有taskAffinity=“” 属性,则启动时,就会新建一个task并放在根部root。

SingleInstance:单例模式只允许有一个activity,启动时,不会destroy其他的。

你可能感兴趣的:(Activity4启动模式)