Android 如何重用活动?不要每次都创建活动
本主题是本主题的继续: 我读到当点击后退按钮时,活动被破坏。 当移动到堆栈的更深处然后调用活动时,它们不会被破坏。例如,使用android:launchMode=“singleTask” 当我单击“后退”按钮并再次运行“活动”时,活动是否可能不会被销毁?您可以重新定义活动的“返回”方法,例如Android 如何重用活动?不要每次都创建活动,android,Android,本主题是本主题的继续: 我读到当点击后退按钮时,活动被破坏。 当移动到堆栈的更深处然后调用活动时,它们不会被破坏。例如,使用android:launchMode=“singleTask” 当我单击“后退”按钮并再次运行“活动”时,活动是否可能不会被销毁?您可以重新定义活动的“返回”方法,例如 public void onBackPressed () { moveTaskToBack (true); } 后退按钮的默认实现是完成当前活动。但是,您可以截取该按键并使用它执行任何您希望的
public void onBackPressed ()
{
moveTaskToBack (true);
}
后退按钮的默认实现是完成当前活动。但是,您可以截取该按键并使用它执行任何您希望的操作。例如,不必完成当前的活动,您可以“启动”上一个活动,从而使其看起来好像正常的实现就在眼前 要截取后退按钮,请按: 以及在每次不创建新活动的情况下开始以前的活动:
Intent i = new Intent(this, PreviousActivity.class);
i.setFlags(Intent.FLAG_ACTIVITY_REORDER_TO_FRONT);
startActivity(i);
在Kotlin 1.2中:
val intent = Intent(this, RepairListActivity::class.java)
intent.flags = Intent.FLAG_ACTIVITY_REORDER_TO_FRONT
startActivity(intent)
祝你好运。我不建议这样做,因为用户可以选择按home按钮(如果应用程序需要内存,android会杀死它)。由于这样的决定,用户开始使用任务杀手,这是一个混乱(在我看来)。然后开发人员正努力使他们的应用程序正常工作,因为用户正在被任务杀手杀死他的应用程序。。。不要搞乱android的生命周期;-)你为什么要这么做?I.想不出一个好处。一个好处是,如果活动布局很复杂,需要10秒才能加载,那么可以通过重用活动节省这10秒,而不必从头开始创建活动。我发现这个答案很有用,但要提醒毫无戒心的开发人员:当您需要上下文时,除非您知道自己在做什么,否则请不要使用应用程序上下文。在这种情况下,您只需传递
这个(当前活动实例),而不是应用程序上下文。