Acticity起動モードをコードで理解する
126440 ワード
本章の内容
Activityの4種類の起動モードの理論知識
standard
デフォルトモードでは、書き込みなしで構成できます.このモードでは、デフォルトで新しいインスタンスが作成されます.したがって、このモードでは、同じインスタンスが複数存在してもよいし、同じActivityが複数存在してもよい.
singleTop
アクティビティの開始モードがsingleTopと指定する、アクティビティの開始時にスタックに戻るスタックトップが既にアクティビティであることが判明した場合、それを直接使用することができると考える、新しいアクティビティインスタンスは作成されず、スタックトップでない場合、再びインスタンスが作成される.
singleTask
起動モードがsingleTaskのActivityのオブジェクトは、Activityスタック全体に1つしか存在しません.また、再起動すると、インスタンスの上のすべてのActivityオブジェクトが空になり、抽象的な感じがします.第2の部分はコードで明確に表現されます.
singleInstance
1つのインスタンスのみが存在し、このインスタンスは独立して1つのtaskで実行されます.このtaskはこのインスタンスのみであり、他のActivityの存在は許可されず、ジャンプ上の論理的な問題を引き起こします.これは処理しなければなりません.
コード理解
コードの準備
AndroidManifest.xml
<application android:allowBackup="true" android:icon="@mipmap/ic_launcher" android:label="@string/app_name" android:supportsRtl="true" android:theme="@style/AppTheme">
<activity android:name=".MainActivity">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity android:name=".A" android:launchMode="singleTop" />
<activity android:name=".B" android:launchMode="singleInstance" />
<activity android:name=".C" android:launchMode="singleTask"></activity>
</application>
ここではMainAcitivyの起動モードは構成されていませんが、その起動モードはデフォルトのstandardです.次のすべてのActivityの画面は、このButtonごとにそれぞれのアルファベットの先頭に対応するActivityです.
まず簡単なジャンプ、ロールバックから始め、ボタンごとに3回クリックします.
連点M,MainActivity–standard
05-21 11:47:21.654 18600-18600/cjh.lauchmode D/tag-M--standard: tag-M--standard- onPause
05-21 11:47:21.664 18600-18600/cjh.lauchmode D/tag-M--standard: tag-M--standard- onCreate
05-21 11:47:21.674 18600-18600/cjh.lauchmode D/tag-M--standard: tag-M--standard- onstart
05-21 11:47:21.674 18600-18600/cjh.lauchmode D/tag-M--standard: tag-M--standard- onResume
05-21 11:47:22.054 18600-18600/cjh.lauchmode D/tag-M--standard: tag-M--standard- onStop
05-21 11:47:22.934 18600-18600/cjh.lauchmode D/tag-M--standard: tag-M--standard- onPause
05-21 11:47:22.944 18600-18600/cjh.lauchmode D/tag-M--standard: tag-M--standard- onCreate
05-21 11:47:22.954 18600-18600/cjh.lauchmode D/tag-M--standard: tag-M--standard- onstart
05-21 11:47:22.954 18600-18600/cjh.lauchmode D/tag-M--standard: tag-M--standard- onResume
05-21 11:47:23.334 18600-18600/cjh.lauchmode D/tag-M--standard: tag-M--standard- onStop
05-21 11:47:24.494 18600-18600/cjh.lauchmode D/tag-M--standard: tag-M--standard- onPause
05-21 11:47:24.494 18600-18600/cjh.lauchmode D/tag-M--standard: tag-M--standard- onCreate
05-21 11:47:24.514 18600-18600/cjh.lauchmode D/tag-M--standard: tag-M--standard- onstart
05-21 11:47:24.514 18600-18600/cjh.lauchmode D/tag-M--standard: tag-M--standard- onResume
05-21 11:47:24.884 18600-18600/cjh.lauchmode D/tag-M--standard: tag-M--standard- onStop
私のMainActivityはLAUNCHERなので、冒頭のonpause、onstopがあって、見ることができます
05-21 11:47:21.664 18600-18600/cjh.lauchmode D/tag-M--standard: tag-M--standard- onCreate
05-21 11:47:21.674 18600-18600/cjh.lauchmode D/tag-M--standard: tag-M--standard- onstart
05-21 11:47:21.674 18600-18600/cjh.lauchmode D/tag-M--standard: tag-M--standard- onResume
この3つのログは3回出力され、3つのMainActivityがオンになり、Activityスタックにはすでに4つのMainActivityが存在し、必然的に終了するとonDestroyは4回実行されます
05-21 11:50:18.894 18600-18600/cjh.lauchmode D/tag-M--standard: tag-M--standard- onPause
05-21 11:50:18.904 18600-18600/cjh.lauchmode D/tag-M--standard: tag-M--standard- onRestart
05-21 11:50:18.904 18600-18600/cjh.lauchmode D/tag-M--standard: tag-M--standard- onstart
05-21 11:50:18.904 18600-18600/cjh.lauchmode D/tag-M--standard: tag-M--standard- onResume
05-21 11:50:19.284 18600-18600/cjh.lauchmode D/tag-M--standard: tag-M--standard- onStop
05-21 11:50:19.284 18600-18600/cjh.lauchmode D/tag-M--standard: tag-M--standard- onDestroy
05-21 11:50:24.514 18600-18600/cjh.lauchmode D/tag-M--standard: tag-M--standard- onPause
05-21 11:50:24.524 18600-18600/cjh.lauchmode D/tag-M--standard: tag-M--standard- onRestart
05-21 11:50:24.524 18600-18600/cjh.lauchmode D/tag-M--standard: tag-M--standard- onstart
05-21 11:50:24.524 18600-18600/cjh.lauchmode D/tag-M--standard: tag-M--standard- onResume
05-21 11:50:24.904 18600-18600/cjh.lauchmode D/tag-M--standard: tag-M--standard- onStop
05-21 11:50:24.904 18600-18600/cjh.lauchmode D/tag-M--standard: tag-M--standard- onDestroy
05-21 11:50:26.074 18600-18600/cjh.lauchmode D/tag-M--standard: tag-M--standard- onPause
05-21 11:50:26.084 18600-18600/cjh.lauchmode D/tag-M--standard: tag-M--standard- onRestart
05-21 11:50:26.084 18600-18600/cjh.lauchmode D/tag-M--standard: tag-M--standard- onstart
05-21 11:50:26.084 18600-18600/cjh.lauchmode D/tag-M--standard: tag-M--standard- onResume
05-21 11:50:26.454 18600-18600/cjh.lauchmode D/tag-M--standard: tag-M--standard- onStop
05-21 11:50:26.454 18600-18600/cjh.lauchmode D/tag-M--standard: tag-M--standard- onDestroy
05-21 11:50:27.564 18600-18600/cjh.lauchmode D/tag-M--standard: tag-M--standard- onPause
05-21 11:50:27.974 18600-18600/cjh.lauchmode D/tag-M--standard: tag-M--standard- onStop
05-21 11:50:27.974 18600-18600/cjh.lauchmode D/tag-M--standard: tag-M--standard- onDestroy
連点B,BActivity–singleInstance
05-21 11:53:44.224 18600-18600/cjh.lauchmode D/tag-M--standard: tag-M--standard- onPause
05-21 11:53:44.284 18600-18600/cjh.lauchmode D/tag-B--singleInstance: tag-B--singleInstance- onCreate
05-21 11:53:44.294 18600-18600/cjh.lauchmode D/tag-B--singleInstance: tag-B--singleInstance- onstart
05-21 11:53:44.294 18600-18600/cjh.lauchmode D/tag-B--singleInstance: tag-B--singleInstance- onResume
05-21 11:53:44.604 18600-18600/cjh.lauchmode D/tag-M--standard: tag-M--standard- onStop
05-21 11:53:46.884 18600-18600/cjh.lauchmode D/tag-B--singleInstance: tag-B--singleInstance- onPause
05-21 11:53:46.884 18600-18600/cjh.lauchmode D/tag-B--singleInstance: tag-B--singleInstance- onResume
05-21 11:53:47.864 18600-18600/cjh.lauchmode D/tag-B--singleInstance: tag-B--singleInstance- onPause
05-21 11:53:47.864 18600-18600/cjh.lauchmode D/tag-B--singleInstance: tag-B--singleInstance- onResume
理論的に言うように、BActivityをジャンプして生成されたスタックは、Bのインスタンスが1つしか存在せず、log出力では確かに1回しか出力されません.
05-21 11:53:44.284 18600-18600/cjh.lauchmode D/tag-B--singleInstance: tag-B--singleInstance- onCreate
05-21 11:53:44.294 18600-18600/cjh.lauchmode D/tag-B--singleInstance: tag-B--singleInstance- onstart
その後の出力は
05-21 11:53:47.864 18600-18600/cjh.lauchmode D/tag-B--singleInstance: tag-B--singleInstance- onPause
05-21 11:53:47.864 18600-18600/cjh.lauchmode D/tag-B--singleInstance: tag-B--singleInstance- onResume
前に言ったように、このモードはジャンプロジックに異常があります.今回のクリックの順序はA-C-B-Mです.
05-21 12:09:43.374 28588-28588/cjh.lauchmode D/tag-M--standard: tag-M--standard- onPause
05-21 12:09:43.374 28588-28588/cjh.lauchmode D/tag-A--singleTop: tag-A--singleTop- onCreate
05-21 12:09:43.384 28588-28588/cjh.lauchmode D/tag-A--singleTop: tag-A--singleTop- onstart
05-21 12:09:43.384 28588-28588/cjh.lauchmode D/tag-A--singleTop: tag-A--singleTop- onResume
05-21 12:09:43.784 28588-28588/cjh.lauchmode D/tag-M--standard: tag-M--standard- onStop
05-21 12:09:49.394 28588-28588/cjh.lauchmode D/tag-A--singleTop: tag-A--singleTop- onPause
05-21 12:09:49.414 28588-28588/cjh.lauchmode D/tag-C--singleTask: tag-C--singleTask- onCreate
05-21 12:09:49.424 28588-28588/cjh.lauchmode D/tag-C--singleTask: tag-C--singleTask- onstart
05-21 12:09:49.424 28588-28588/cjh.lauchmode D/tag-C--singleTask: tag-C--singleTask- onResume
05-21 12:09:49.814 28588-28588/cjh.lauchmode D/tag-A--singleTop: tag-A--singleTop- onStop
05-21 12:09:51.384 28588-28588/cjh.lauchmode D/tag-C--singleTask: tag-C--singleTask- onPause
05-21 12:09:51.434 28588-28588/cjh.lauchmode D/tag-B--singleInstance: tag-B--singleInstance- onCreate
05-21 12:09:51.444 28588-28588/cjh.lauchmode D/tag-B--singleInstance: tag-B--singleInstance- onstart
05-21 12:09:51.444 28588-28588/cjh.lauchmode D/tag-B--singleInstance: tag-B--singleInstance- onResume
05-21 12:09:51.734 28588-28588/cjh.lauchmode D/tag-C--singleTask: tag-C--singleTask- onStop
05-21 12:09:55.584 28588-28588/cjh.lauchmode D/tag-B--singleInstance: tag-B--singleInstance- onPause
05-21 12:09:55.594 28588-28588/cjh.lauchmode D/tag-M--standard: tag-M--standard- onCreate
05-21 12:09:55.604 28588-28588/cjh.lauchmode D/tag-M--standard: tag-M--standard- onstart
05-21 12:09:55.604 28588-28588/cjh.lauchmode D/tag-M--standard: tag-M--standard- onResume
05-21 12:09:55.994 28588-28588/cjh.lauchmode D/tag-B--singleInstance: tag-B--singleInstance- onStop
通常の論理では、返される順序はM-C-B-Aであるべきですが、実際には本当の順序はM-C-A-Bです.
05-21 12:13:05.944 28588-28588/cjh.lauchmode D/tag-M--standard: tag-M--standard- onPause
05-21 12:13:05.954 28588-28588/cjh.lauchmode D/tag-C--singleTask: tag-C--singleTask- onRestart
05-21 12:13:05.954 28588-28588/cjh.lauchmode D/tag-C--singleTask: tag-C--singleTask- onstart
05-21 12:13:05.954 28588-28588/cjh.lauchmode D/tag-C--singleTask: tag-C--singleTask- onResume
05-21 12:13:06.344 28588-28588/cjh.lauchmode D/tag-M--standard: tag-M--standard- onStop
05-21 12:13:06.354 28588-28588/cjh.lauchmode D/tag-M--standard: tag-M--standard- onDestroy
05-21 12:13:06.924 28588-28588/cjh.lauchmode D/tag-C--singleTask: tag-C--singleTask- onPause
05-21 12:13:06.934 28588-28588/cjh.lauchmode D/tag-A--singleTop: tag-A--singleTop- onRestart
05-21 12:13:06.934 28588-28588/cjh.lauchmode D/tag-A--singleTop: tag-A--singleTop- onstart
05-21 12:13:06.934 28588-28588/cjh.lauchmode D/tag-A--singleTop: tag-A--singleTop- onResume
05-21 12:13:07.314 28588-28588/cjh.lauchmode D/tag-C--singleTask: tag-C--singleTask- onStop
05-21 12:13:07.314 28588-28588/cjh.lauchmode D/tag-C--singleTask: tag-C--singleTask- onDestroy
05-21 12:13:08.644 28588-28588/cjh.lauchmode D/tag-A--singleTop: tag-A--singleTop- onPause
05-21 12:13:08.654 28588-28588/cjh.lauchmode D/tag-M--standard: tag-M--standard- onRestart
05-21 12:13:08.654 28588-28588/cjh.lauchmode D/tag-M--standard: tag-M--standard- onstart
05-21 12:13:08.654 28588-28588/cjh.lauchmode D/tag-M--standard: tag-M--standard- onResume
05-21 12:13:09.034 28588-28588/cjh.lauchmode D/tag-A--singleTop: tag-A--singleTop- onStop
05-21 12:13:09.034 28588-28588/cjh.lauchmode D/tag-A--singleTop: tag-A--singleTop- onDestroy
05-21 12:13:10.284 28588-28588/cjh.lauchmode D/tag-M--standard: tag-M--standard- onPause
05-21 12:13:10.294 28588-28588/cjh.lauchmode D/tag-B--singleInstance: tag-B--singleInstance- onRestart
05-21 12:13:10.294 28588-28588/cjh.lauchmode D/tag-B--singleInstance: tag-B--singleInstance- onstart
05-21 12:13:10.294 28588-28588/cjh.lauchmode D/tag-B--singleInstance: tag-B--singleInstance- onResume
最後に見たのはBで、これはBをジャンプした後、またM:singleInstanceをジャンプして別のスタックを起動したからです.つまり、今は2つのスタックがあり、最初のスタックは上から下まで:M-C-Aです.もう一つのスタックはBの一例で、最後のMジャンプの操作で、Bスタックから最初のスタックに戻りましょう.では、次から次へと戻ります.見たのは最初のスタックのActivityで、順番はM-C-Aで、最初のスタックが片付けられてから、Bスタックが見えます.
連点A、AActivity–singleTop、Aに対してここで異なる操作をすることができて、先にAを注文して、Mを注文して、最後に2回Aを注文します
05-21 12:00:30.704 28588-28588/cjh.lauchmode D/tag-M--standard: tag-M--standard- onPause
05-21 12:00:30.714 28588-28588/cjh.lauchmode D/tag-A--singleTop: tag-A--singleTop- onCreate
05-21 12:00:30.724 28588-28588/cjh.lauchmode D/tag-A--singleTop: tag-A--singleTop- onstart
05-21 12:00:30.724 28588-28588/cjh.lauchmode D/tag-A--singleTop: tag-A--singleTop- onResume
05-21 12:00:31.104 28588-28588/cjh.lauchmode D/tag-M--standard: tag-M--standard- onStop
05-21 12:00:32.314 28588-28588/cjh.lauchmode D/tag-A--singleTop: tag-A--singleTop- onPause
05-21 12:00:32.324 28588-28588/cjh.lauchmode D/tag-M--standard: tag-M--standard- onCreate
05-21 12:00:32.334 28588-28588/cjh.lauchmode D/tag-M--standard: tag-M--standard- onstart
05-21 12:00:32.334 28588-28588/cjh.lauchmode D/tag-M--standard: tag-M--standard- onResume
05-21 12:00:32.704 28588-28588/cjh.lauchmode D/tag-A--singleTop: tag-A--singleTop- onStop
05-21 12:00:33.924 28588-28588/cjh.lauchmode D/tag-M--standard: tag-M--standard- onPause
05-21 12:00:33.934 28588-28588/cjh.lauchmode D/tag-A--singleTop: tag-A--singleTop- onCreate
05-21 12:00:33.944 28588-28588/cjh.lauchmode D/tag-A--singleTop: tag-A--singleTop- onstart
05-21 12:00:33.944 28588-28588/cjh.lauchmode D/tag-A--singleTop: tag-A--singleTop- onResume
05-21 12:00:34.334 28588-28588/cjh.lauchmode D/tag-M--standard: tag-M--standard- onStop
05-21 12:00:35.264 28588-28588/cjh.lauchmode D/tag-A--singleTop: tag-A--singleTop- onPause
05-21 12:00:35.264 28588-28588/cjh.lauchmode D/tag-A--singleTop: tag-A--singleTop- onResume
ロゴの中で2回目にAというButtonをクリックすると、AActivityがスタックトップではないことがわかり、3回目のクリックでスタックトップでonResumeという方法しか呼び出されず、最後のスタックの上から下までの順番がA-M-A-Mで、終了するとロゴ全体でonDestroyの方法が4回しか呼び出されません
05-21 12:04:54.604 28588-28588/cjh.lauchmode D/tag-A--singleTop: tag-A--singleTop- onPause
05-21 12:04:54.614 28588-28588/cjh.lauchmode D/tag-M--standard: tag-M--standard- onRestart
05-21 12:04:54.614 28588-28588/cjh.lauchmode D/tag-M--standard: tag-M--standard- onstart
05-21 12:04:54.614 28588-28588/cjh.lauchmode D/tag-M--standard: tag-M--standard- onResume
05-21 12:04:55.004 28588-28588/cjh.lauchmode D/tag-A--singleTop: tag-A--singleTop- onStop
05-21 12:04:55.004 28588-28588/cjh.lauchmode D/tag-A--singleTop: tag-A--singleTop- onDestroy
05-21 12:04:56.964 28588-28588/cjh.lauchmode D/tag-M--standard: tag-M--standard- onPause
05-21 12:04:56.974 28588-28588/cjh.lauchmode D/tag-A--singleTop: tag-A--singleTop- onRestart
05-21 12:04:56.974 28588-28588/cjh.lauchmode D/tag-A--singleTop: tag-A--singleTop- onstart
05-21 12:04:56.974 28588-28588/cjh.lauchmode D/tag-A--singleTop: tag-A--singleTop- onResume
05-21 12:04:57.354 28588-28588/cjh.lauchmode D/tag-M--standard: tag-M--standard- onStop
05-21 12:04:57.354 28588-28588/cjh.lauchmode D/tag-M--standard: tag-M--standard- onDestroy
05-21 12:04:58.294 28588-28588/cjh.lauchmode D/tag-A--singleTop: tag-A--singleTop- onPause
05-21 12:04:58.304 28588-28588/cjh.lauchmode D/tag-M--standard: tag-M--standard- onRestart
05-21 12:04:58.304 28588-28588/cjh.lauchmode D/tag-M--standard: tag-M--standard- onstart
05-21 12:04:58.304 28588-28588/cjh.lauchmode D/tag-M--standard: tag-M--standard- onResume
05-21 12:04:58.684 28588-28588/cjh.lauchmode D/tag-A--singleTop: tag-A--singleTop- onStop
05-21 12:04:58.684 28588-28588/cjh.lauchmode D/tag-A--singleTop: tag-A--singleTop- onDestroy
05-21 12:04:59.554 28588-28588/cjh.lauchmode D/tag-M--standard: tag-M--standard- onPause
05-21 12:04:59.984 28588-28588/cjh.lauchmode D/tag-M--standard: tag-M--standard- onStop
05-21 12:04:59.984 28588-28588/cjh.lauchmode D/tag-M--standard: tag-M--standard- onDestroy
連点C,CActivity-singleTask,singleTaskは実は非常に極端なモードで、それはそのスタックの上に押されたすべてのActivityインスタンスをクリアします。ここではBを踊らないで、Cがどんなに強くても他のスタックに影響を与えることはできません。では、今回はA-C-C-M-C
05-21 12:21:54.864 21834-21834/cjh.lauchmode D/tag-A--singleTop: tag-A--singleTop- onCreate
05-21 12:21:54.874 21834-21834/cjh.lauchmode D/tag-A--singleTop: tag-A--singleTop- onstart
05-21 12:21:54.874 21834-21834/cjh.lauchmode D/tag-A--singleTop: tag-A--singleTop- onResume
05-21 12:21:55.254 21834-21834/cjh.lauchmode D/tag-M--standard: tag-M--standard- onStop
05-21 12:21:56.884 21834-21834/cjh.lauchmode D/tag-A--singleTop: tag-A--singleTop- onPause
05-21 12:21:56.934 21834-21834/cjh.lauchmode D/tag-C--singleTask: tag-C--singleTask- onCreate
05-21 12:21:56.944 21834-21834/cjh.lauchmode D/tag-C--singleTask: tag-C--singleTask- onstart
05-21 12:21:56.944 21834-21834/cjh.lauchmode D/tag-C--singleTask: tag-C--singleTask- onResume
05-21 12:21:57.334 21834-21834/cjh.lauchmode D/tag-A--singleTop: tag-A--singleTop- onStop
05-21 12:21:58.624 21834-21834/cjh.lauchmode D/tag-C--singleTask: tag-C--singleTask- onPause
05-21 12:21:58.624 21834-21834/cjh.lauchmode D/tag-C--singleTask: tag-C--singleTask- onResume
05-21 12:22:00.634 21834-21834/cjh.lauchmode D/tag-C--singleTask: tag-C--singleTask- onPause
05-21 12:22:00.634 21834-21834/cjh.lauchmode D/tag-M--standard: tag-M--standard- onCreate
05-21 12:22:00.644 21834-21834/cjh.lauchmode D/tag-M--standard: tag-M--standard- onstart
05-21 12:22:00.644 21834-21834/cjh.lauchmode D/tag-M--standard: tag-M--standard- onResume
05-21 12:22:01.024 21834-21834/cjh.lauchmode D/tag-C--singleTask: tag-C--singleTask- onStop
05-21 12:22:03.374 21834-21834/cjh.lauchmode D/tag-M--standard: tag-M--standard- onPause
05-21 12:22:03.394 21834-21834/cjh.lauchmode D/tag-A--singleTop: tag-A--singleTop- onCreate
05-21 12:22:03.404 21834-21834/cjh.lauchmode D/tag-A--singleTop: tag-A--singleTop- onstart
05-21 12:22:03.404 21834-21834/cjh.lauchmode D/tag-A--singleTop: tag-A--singleTop- onResume
05-21 12:22:03.804 21834-21834/cjh.lauchmode D/tag-M--standard: tag-M--standard- onStop
05-21 12:22:08.194 21834-21834/cjh.lauchmode D/tag-M--standard: tag-M--standard- onDestroy
05-21 12:22:08.194 21834-21834/cjh.lauchmode D/tag-A--singleTop: tag-A--singleTop- onPause
05-21 12:22:08.214 21834-21834/cjh.lauchmode D/tag-C--singleTask: tag-C--singleTask- onRestart
05-21 12:22:08.214 21834-21834/cjh.lauchmode D/tag-C--singleTask: tag-C--singleTask- onstart
05-21 12:22:08.214 21834-21834/cjh.lauchmode D/tag-C--singleTask: tag-C--singleTask- onResume
05-21 12:22:08.584 21834-21834/cjh.lauchmode D/tag-A--singleTop: tag-A--singleTop- onStop
05-21 12:22:08.584 21834-21834/cjh.lauchmode D/tag-A--singleTop: tag-A--singleTop- onDestroy
最後のロゴから、私が最後にCをジャンプしたとき、スタックの中のAとMが破壊されたことがわかります.
05-21 12:22:03.804 21834-21834/cjh.lauchmode D/tag-M--standard: tag-M--standard- onStop
05-21 12:22:08.194 21834-21834/cjh.lauchmode D/tag-M--standard: tag-M--standard- onDestroy
05-21 12:22:08.194 21834-21834/cjh.lauchmode D/tag-A--singleTop: tag-A--singleTop- onPause
05-21 12:22:08.214 21834-21834/cjh.lauchmode D/tag-C--singleTask: tag-C--singleTask- onRestart
05-21 12:22:08.214 21834-21834/cjh.lauchmode D/tag-C--singleTask: tag-C--singleTask- onstart
05-21 12:22:08.214 21834-21834/cjh.lauchmode D/tag-C--singleTask: tag-C--singleTask- onResume
05-21 12:22:08.584 21834-21834/cjh.lauchmode D/tag-A--singleTop: tag-A--singleTop- onStop
05-21 12:22:08.584 21834-21834/cjh.lauchmode D/tag-A--singleTop: tag-A--singleTop- onDestroy
ここで破棄されたAとMはCに押されたActicityの例であり,ロールバックはより直感的である.
05-21 12:24:41.364 21834-21834/cjh.lauchmode D/tag-C--singleTask: tag-C--singleTask- onPause
05-21 12:24:41.374 21834-21834/cjh.lauchmode D/tag-A--singleTop: tag-A--singleTop- onRestart
05-21 12:24:41.374 21834-21834/cjh.lauchmode D/tag-A--singleTop: tag-A--singleTop- onstart
05-21 12:24:41.374 21834-21834/cjh.lauchmode D/tag-A--singleTop: tag-A--singleTop- onResume
05-21 12:24:41.754 21834-21834/cjh.lauchmode D/tag-C--singleTask: tag-C--singleTask- onStop
05-21 12:24:41.754 21834-21834/cjh.lauchmode D/tag-C--singleTask: tag-C--singleTask- onDestroy
05-21 12:24:42.274 21834-21834/cjh.lauchmode D/tag-A--singleTop: tag-A--singleTop- onPause
05-21 12:24:42.284 21834-21834/cjh.lauchmode D/tag-M--standard: tag-M--standard- onRestart
05-21 12:24:42.284 21834-21834/cjh.lauchmode D/tag-M--standard: tag-M--standard- onstart
05-21 12:24:42.284 21834-21834/cjh.lauchmode D/tag-M--standard: tag-M--standard- onResume
05-21 12:24:42.654 21834-21834/cjh.lauchmode D/tag-A--singleTop: tag-A--singleTop- onStop
05-21 12:24:42.654 21834-21834/cjh.lauchmode D/tag-A--singleTop: tag-A--singleTop- onDestroy
05-21 12:24:43.934 21834-21834/cjh.lauchmode D/tag-M--standard: tag-M--standard- onPause
05-21 12:24:44.384 21834-21834/cjh.lauchmode D/tag-M--standard: tag-M--standard- onStop
05-21 12:24:44.384 21834-21834/cjh.lauchmode D/tag-M--standard: tag-M--standard- onDestroy
5つのActivityをスキップしたにもかかわらず、最後に終了してonDestroy()が3回しか出力されず、C破棄後に出力されたので、Cに押されたインスタンスはとっくに破棄されていることがわかります.