pub enum LaunchMode {
Standard,
SingleTop,
SingleTask,
SingleInstance,
}Expand description
定义 Activity 的启动模式,决定了新 Activity 如何与现有的任务栈交互。
概念完全映射自 Android 的 launchMode 属性。
Variants§
Standard
标准模式 (Standard) 默认行为。每次启动都会实例化一个新的 Activity 并压入栈顶,允许栈中存在多个相同路由的实例。
SingleTop
栈顶复用模式 (SingleTop)
如果目标 Activity 已经位于栈顶,则不会创建新实例,而是直接调用该实例的 on_new_intent。
如果不在栈顶,则行为与 Standard 相同。
SingleTask
栈内复用模式 (SingleTask / Clear Top)
保证栈内只有一个该路由的实例。如果实例已存在,则将其上方的所有 Activity 弹出(销毁),
使其重新成为栈顶,并调用 on_new_intent。
SingleInstance
全局单例模式 (SingleInstance) 极其霸道的独占模式。整个任务栈中仅允许存在该 Activity 的唯一实例。
- 若已存在:清空栈内其他所有 Activity。
- 若新建:清空当前栈,以该 Activity 作为栈底和栈顶。
Trait Implementations§
Source§impl Clone for LaunchMode
impl Clone for LaunchMode
Source§fn clone(&self) -> LaunchMode
fn clone(&self) -> LaunchMode
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for LaunchMode
impl Debug for LaunchMode
Source§impl PartialEq for LaunchMode
impl PartialEq for LaunchMode
impl Copy for LaunchMode
impl StructuralPartialEq for LaunchMode
Auto Trait Implementations§
impl Freeze for LaunchMode
impl RefUnwindSafe for LaunchMode
impl Send for LaunchMode
impl Sync for LaunchMode
impl Unpin for LaunchMode
impl UnsafeUnpin for LaunchMode
impl UnwindSafe for LaunchMode
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more