<activity android:name=".A2" android:label="@string/app_name" android:launchMode="singleTop"/>
然後進行activity的順序為A1->A2->A2->A3->A2,結果如下:
程式一開始執行的畫面 |
由A1到A2後所產生的畫面 |
請注意,當A2按下「Intent to A2」時 | , | 並沒有產生新的實體,還是待在原來的A2上 |
由A2按下「Intent to A3」後的畫面 |
由A3到A2時,產生一個A2的實體 |
因 為A2是設定為singleTop,所以當A2如果是在activity stack的最上層時,即時startActivity後,是不會產生新的實體的。但是在A3利用startActivity呼叫A2時,因為現在 activity stack最上層是A3而不是A2,因此會產生一個A2的實體。所以可以看到有2個A2的hashcode
com.testintent.A2@43e4a2a0
com.testintent.A2@43e5b138
現在開始由A2按下Back Key一直倒退回去可以發現順序為
A2 -> A3 -> A2 -> A1
注意到A3 -> A2 -> A1,其中A2只按一次就消失了。
沒有留言:
張貼留言