以下を使用して、MainActivityというアクティビティからActivity1というアクティビティを呼び出します。
Intent intent = new Intent(Intent.ACTION_VIEW, uri);
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
startActivity(intent);
したがって、コントロールがActivity1になると。通常のアクティビティライフサイクルが開始されます。つまり、onCreate()が呼び出されます。
コントロールがActivity1にあるときに戻るボタンをクリックしたとき。finishメソッドが呼び出され、次にonDestroy()が呼び出され、コントロールがMainActivity画面に戻ります。
@Override
public void onBackPressed() {
Log.d(TAG, "onBackPressed()");
finish();
}
次回Activity1を呼び出すとき。前の呼び出しからonDestroy(戻るボタンを押したとき)を呼び出したときに、onCreateが再度呼び出されます。
質問:1。「finish()」メソッドを呼び出さなくても、戻るボタンが押されたときに制御をMainActivityに戻す方法はありますか?2.終了の呼び出しに関する問題。MainActivityからActivity1を呼び出すたびに、Activity1の新しいインスタンスが作成されます。つまり、ライフサイクルは再びonCreate()から始まります。これはパフォーマンスの大きな問題になっているため、これが発生することは望ましくありません。
私が探している主なポイントは、最初に呼び出したときに、oncreateではなくresume状態からactivity1を開始できるかどうかです。