2014-04-13 27 views
0

我想知道爲什麼singleInstance爲Android自身保留不同的Stack。爲什麼singleInstance在Android中保持不同堆棧

文件說:

A「singleInstance」活動,在另一方面,不允許有其他的活動是其任務的一部分。這是任務中唯一的活動

因此,此處任務活動的集合位於Stack中。所以根據文檔它保持自己的不同Stack。是對的,但它爲什麼保持自己Stack ??

回答

0

它不保留個人Stack,它根本沒有也不屬於任何Stack

當它啓動時只存在於這一刻,如果你回去或轉發它將不再存在。

一個例子可以是:

你有3個activites A, B, C

如果B爲singleInstance,你將讓您的使用,當你按下後退按鈕去A -> B -> C Android將你,因爲它就像它不eists了在activities stack回遷AC,不B(從不添加到它!)。

只有當您的應用程序只需要一項活動時,您應該使用它。

+0

如果B是singleInstance,當您按下後退按鈕時,您可以讓您使用A→B→C,Android會將您從C中移回A,而不是B,因爲它不會再出現在活動堆棧(從未添加到它---這是因爲'singleInstance'使用不同的'堆棧'與不同的任務?? – Mick

+0

+ - (?),因爲Android不會添加任何活動到他的堆棧,並且不添加它的堆棧---也許這個http://developer.android.com/guide/components/tasks-and-back-stack.html也可以幫助你。 –

相關問題