APP开发实战59-Activity启动模式

本文介绍了Android中Activity的四种启动模式:Standard、SingleTop、SingleTask和SingleInstance。详细讲解了每种模式的特点及其在任务栈中的行为,包括实例创建、onNewIntent调用以及任务栈管理。重点提到了SingleTask模式在任务栈中的应用和SingleInstance模式的独特之处。
摘要由CSDN通过智能技术生成

16 Activity介绍

16.1Activity启动方式

16.1.1启动模式

(1)Standard模式

这是系统默认的模式,每次启动Activity都会重新创建一个新的Activity实例,也就是onCreate,onStart,onResume流程走一遍,并且一个任务栈里允许存在多个实例。

当我们使用ApplicationContext去启动Activity的时候,因为默认是standard模式会报错:Calling startActivity()from outside of an Activity context requires the FLAG_ACTIVITY_NEW_TASK flag.Is this really what you want?

因为standard 模式默认启动的Activity会和启动它的Activity在同一任务栈,而由于ApplicationContext非Activity的Context,并没有所谓的任务栈,所以提示我们需要使用FLAG_ACTIVITY_NEW_TASK来新建一个任务栈并把启动的Activity放进去。

 

(2)SingleTop模式

在同一个任务栈中栈顶如果有此Activity的实例,那么不会重新创建一个新实例,而是调用此Activity的onNewIntent,此时onCreate、onStart不会被调用。但如果此Activity在同一个任务栈但不在栈顶或之前用S

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值