我对 android 还很陌生,但我注意到几乎每个教程都以此开头:
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
但我不希望状态在重新启动应用程序的整个过程中持续存在。如果用户重新启动应用程序,我希望用户从头开始。我怎样才能做到这一点?
在 Android 中,状态管理在 Activity 生命周期中由您决定。onCreate、onPause、onDestroy 和其他生命周期方法都可用于保存和恢复活动状态以及执行其他操作。如果您不希望您的应用程序保存任何状态,无论是文本框或动画还是其他,请不要捕获它并在这些事件中恢复它。
Bundle savedInstanceState仅在活动暂停或停止时由您设置,允许您存储状态并在 onCreate 或 onResume 方法中获取它,但这也发生在布局的方向更改(用户提示从纵向到横向)然后您可能确实想在该 Bundle 中保存状态详细信息。
当然,您可以随时重置任何覆盖 onResume 的字段。
此外,活动启动模式可能值得一看。很多时候,我会将我的主要活动设置为 singleTop,以便在任何给定时间只启动一个实例。
protected void onPause()
{
finish();
}
它会在暂停时终止活动。每次都会创建一个新实例。