四大组件Activity之启动模式

Activity的特征:

  1. 用来表示用户界面的单一屏幕
  2. 窗口通常充满屏幕,但也可小于屏幕并浮动在其他窗口之上。
  3. 存在于栈中,遵循“后进先出”的堆栈机制。

Activity的启动模式:(假设Activity对象A,B,C,D)

 Standard模式-->默认模式(每启动一个Activity,栈中添加一个Activity) 
 	示例:A->B->C->A->A->B                  栈:ABCAAB  
 SingleTop模式-->栈顶单一模式(activity位于栈顶复用,调用onNewIntent()方法,否则重建activity)
 	示例:A->B->C->C->A->C		   栈:ABCAC  
 SingleTask模式-->栈内单一模式 (栈内存在则复用,调用onNewIntent()方法,否则重建activity)
 	示例:A->B->A->A->C->A		   栈:A
 SingleInstance模式-->单实例模式(单独存在一个任务栈中,存在则复用,仿照SingleTask)

示例


注意

如果从application启动Actiivty(推送信息中application跳转指定界面),必须设置flag,一个Intent可以设置一个flag,也可以设置多个。

  1. FLAG_ACTIVITY_SINGLE_TOP singleTop
  2. FLAG_ACTIVITY_NEW_TASK singleTask
  3. FLAG_ACTIVITY_CLEAR_TOP singleTop,如果配置文件不为singleTop,会重新创建

你可能感兴趣的:(Android,Android)