Android Activity四种启动模式及应用场景

摘要:1. Activity 启动模式 及 区别? ? Standare:默认启动模式,每次都会在虚拟栈顶创立一个实例。????SingleTop:检查该 Activity 的实例能否位于栈顶,位于栈顶时复用,非栈顶时创立新实例。? ? SingleTask:该 Activity 在整个应用中只存在一个实

1. Activity 启动模式 及 区别

? ? Standare:默认启动模式,每次都会在虚拟栈顶创立一个实例。

????SingleTop:检查该 Activity 的实例能否位于栈顶,位于栈顶时复用,非栈顶时创立新实例。

? ? SingleTask:该 Activity 在整个应用中只存在一个实例,启动此 Activity 时会检查虚拟栈中能否存在它的实例,假如存在直接复用,并把当前Activity之上所有实例一律出栈。

? ? SingleInstance:具有 singleTask 模式的所有特性。该模式的 Activity 会启动一个新的任务栈来管理 Activity 实例,并且该实例在整个系统中只有一个。无论从那个任务栈中启动该 Activity,都会是该 Activity 所在的任务栈转移到前端,从而使Activity显示。主要作用是为了在不同程序中共享一个 Activity 实例。


2. Activity 不同启动模式常见应用场景

????Standare:默认,无需设置

????SingleTop:APP接收到多条推送消息,点开不同消息,均由同一实例展现。

????SingleTask:APP的主页,无论哪种业务场景下再次回到此页,都不应保留之上Activity。

????SingleInstance:如APP经常调用的拨打电话、系统通讯录、地图类APP 等页面,不同APP调用此类Activity 时,初次创立实例,之后其余APP只能复用此实例。


3. 项目中使用方式(可分为动态或者静态2种)

? ? 1. 动态设置:代码中通过 Intent 的 addFlags 方法指定

? ? 2. 静态设置:Manifest.xml 文件中配置

开始在诸多场景中,灵活运用启动模式吧老弟!

完毕

好汉留步!

何不仗义点个赞后再走,多谢~


  • 全部评论(0)
手机二维码手机访问领取大礼包
返回顶部