我是 android 的新手,但我注意到几乎每个教程都以此开头:
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
但我不希望状态在整个重新启动应用程序的过程中持续存在。如果用户重新启动应用程序,我希望他们从头开始。我怎样才能做到这一点?
最佳答案
在 Android 中,状态管理在 Activity 生命周期内由您决定。 onCreate、onPause、onDestroy 和其他生命周期方法都可用于保存和恢复 Activity 状态以及做其他事情。如果您不希望您的应用程序保存任何状态,无论是文本框还是动画或其他状态,请不要捕获它并在这些事件中恢复它。
bundle savedInstanceState仅在 Activity 暂停或停止时由您设置,允许您存储状态并在 onCreate 或 onResume 方法中获取它,但这也会发生在布局方向更改时(用户提示从纵向到横向),然后您可能确实想在该 Bundle 中保存状态详细信息。
当然,您始终可以重置覆盖 onResume 的任何字段。
另外,Activity Launch Modes可能值得一看。很多时候我会将我的主要 Activity 设置为 singleTop 以便在任何给定时间只启动一个实例。
关于java - 在启动时创建新实例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13736805/