Androidの起動モードを設定する方法
Androidでは、AndroidManifest.xmlファイルでアクティビティ要素のlaunchMode属性を設定することで起動モードを定義できます。
一般的な起動モードと設定方法は次のとおりです。
- アクティビティを起動するたびに、新しいインスタンスが作成されます。
<activity
android:name=".MainActivity"
android:launchMode="standard">
</activity>
- singleTop: 現在のアクティビティが既にスタックの最前面にある場合、再度そのアクティビティが起動されたときに新しいインスタンスが作成されるのではなく、onNewIntent() メソッドが呼び出されて新しいインテントが処理されます。
<activity
android:name=".MainActivity"
android:launchMode="singleTop">
</activity>
- singleTask:現在のスタックにそのアクティビティインスタンスが格納されている場合、そのインスタンスを一番上に移動し、そのインスタンスよりも上にあるすべてのアクティビティインスタンスをスタックから削除します。スタックにそのアクティビティインスタンスがない場合、新しいインスタンスが作成されます。
<activity
android:name=".MainActivity"
android:launchMode="singleTask">
</activity>
- 単独インスタンス: この Activity は新しいタスクスタック内に単独で存在し、この Activity インスタンスが既に存在するかに関わらず、新しいタスクスタックを作成してスタックの最上部に置きます。
<activity
android:name=".MainActivity"
android:launchMode="singleInstance">
</activity>
注意:起動モードの選択は、実際のニーズによって異なります。起動モードによって、Activity のライフサイクルやタスクスタックの管理方法が異なります。