我使用以下方法从名为 MainActivity 的 Activity 中调用名为 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 时单击后退按钮时。调用完成方法,该方法又调用 onDestroy(),现在控件返回到 MainActivity 屏幕。
@Override
public void onBackPressed() {
Log.d(TAG, "onBackPressed()");
finish();
}
下次我打电话给 Activity1。当我从上一次调用中调用 onDestroy(当我按下后退按钮时)时,再次调用 onCreate。
问题:1.有没有办法在按下后退按钮时将控制权传递回MainActivity而无需调用“finish()”方法?2.调用finish的问题,每次我从MainActivity调用Activity1,都会创建一个新的Activity1实例。那是生命周期再次从 onCreate() 开始。我不希望这种情况发生,因为这已成为主要的性能问题。
我正在寻找的要点是,当我第一次调用它时,我是否可以从恢复状态而不是 oncreate 启动activity1。