Skip to main content

LaunchMode

Enum LaunchMode 

Source
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

Source§

fn clone(&self) -> LaunchMode

Returns a duplicate of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for LaunchMode

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl PartialEq for LaunchMode

Source§

fn eq(&self, other: &LaunchMode) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · Source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl Copy for LaunchMode

Source§

impl StructuralPartialEq for LaunchMode

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.