Sean's Note: Launch Mode for Activity

2014年5月10日 星期六

Launch Mode for Activity

Activity 的 launch mode 可以透過 android:launchMode 來設定,總共有四種 launch mode:
  1. standard
    這是 default 的 launch mode,Activity 每次都會建立一個新的實體。
    EX1: A -> B(standard),在 B 啟動 B,A -> B -> B。
    EX2: A(standard) -> B,返回上層,Activity A 會被重新建立。
  2. singleTop
    如果當下的 Activity 在 stack 的最上面,則不會建立新的實體,反之則會。
    EX1: A(singleTop) -> B -> C,在 C 啟動 A,A -> B -> C -> A。
    EX2: A(singleTop) -> B,返回上層,Activity A 不會被重新建立。
  3. singleTask
    不會建立新的實體,而且總是在 stack 中的最前頭(下層)。
    (Google 說總是在 stack 中的最前頭(下層) 也不全然正確)
    EX1: A -> B(singleTask) -> C -> D ,在 D 啟動 B,A -> B,C 和 D 會被移除。
  4. singleInstance
    不會建立新的實體,而且是 stack 中唯一的 Activity。
    EX1: A -> B -> C ,在 C 啟動 D(singleInstance),[A -> B -> C] -> [D]。

沒有留言:

張貼留言