Android-Activityの4つの起動モード

1226 ワード

Androidでは各インタフェースが1つのActivityであり、インタフェースの切り替え操作は実際には複数の異なるActivity間のインスタンス化操作である.AndroidでのActivityの起動モードによってActivityの起動動作が決まります.Androidの総Activityの起動モードは4種類に分けられます.
Activity起動モード設定:AndroidManifestで
        <activity android:name=".MainActivity" android:launchMode="standard" />

Activityの4つの起動モード:
1.standardのデフォルトの起動モードで、ActivityがアクティブになるたびにActivityが作成され、タスクスタックに格納されます.
2.singleTopタスクのスタックトップにActivityインスタンスがちょうど存在する場合、そのインスタンスを再利用します.No.は、新しいインスタンスを作成し、スタックトップに格納します(スタックにActivityインスタンスがすでに存在していても、スタックトップに存在しない限り、インスタンスが作成されます).
3.singleTaskこのActivityのインスタンスがスタックにすでに存在する場合は、そのインスタンスを再利用します(インスタンスのonNewIntent()が呼び出されます).再使用すると、インスタンスがスタックの上部に戻るため、その上のインスタンスはスタックを削除されます.スタックにインスタンスが存在しない場合、スタックに新しいインスタンスが作成されます.
4.singleInstanceは、新しいスタックでActivityインスタンスを作成し、スタック内のActivityインスタンスを複数のアプリケーションに共有させる.このモードのActivityのインスタンスがスタック内に存在すると、どのアプリケーションがActivityを再アクティブ化してもスタック内のインスタンスが再利用され、その効果は複数のアプリケーションが1つのアプリケーションを共有することに相当し、誰がActivityをアクティブにしても同じアプリケーションに入る.