1,活动的启动模式
在 Android 中,Activity 的启动模式主要有以下四种:
默认启动模式(Normal):这是默认的启动模式,基本上就是标准的启动模式。当一个 Activity 启动后,它将会被压入堆栈。如果用户再次启动这个 Activity,那么之前的实例会被暂停并压入堆栈顶,然后新的实例开始运行。
栈顶启动模式(SingleTop):在这种模式下,如果新的 Activity 在堆栈顶已经存在,则不会创建新的 Activity,而是通过调用已经存在的实例的 onNewIntent() 方法来通知它。
栈内启动模式(SingleTask):在这种模式下,如果新的 Activity 不在堆栈顶,系统会创建新的 Activity 并压入堆栈;如果新的 Activity 已经在堆栈中存在,那么系统不会创建新的实例,而是通过调用已经存在的实例的 onNewIntent() 方法来通知它。
单例启动模式(SingleInstance):这是一种特殊的栈内启动模式。在这种模式下,Activity 只能在一个任务的实例中存在,它始终位于堆栈的顶部。即使系统任务切换,它也不会被替换。当一个 SingleInstance Activity 被启动时,系统会创建一个新的任务栈并把 Activity 压入栈顶。
以上就是 Android 中 Activity 的四种启动模式。需要注意的是,这些启动模式并不能防止 Activity 被系统杀死,它们只是在需要创建新的 Activity 或者在已经存在的 Activity 上启动新的 Intent 时,决定了系统如何处理这些 Activity。
可以