java - 在启动时创建新实例

标签 java android oncreate

我是 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/

相关文章:

java - 使用泛型方法创建不可变的基础

java - 如何为 XDomain 设置 header Access-Control-Allow-Origin

java - 无法从 block 模板引擎检索对象属性

android - 如何在 React Native 中创建自定义底部标签栏?

java - 无法实现方法

java - 使用 Java springdata 保存带有上限数组($slice 和 $sort)的 mongoDB 文档

java - 使用 Android java 应用程序的 Cisco 交换机的 Telnet 客户端

android - 改变 View 可见性的约束

android - 在 Android 中调用父类(super class) onCreate() 方法时如何解决 Activity 中的 NullPointerException

android - 在 Android 的 ListView Kotlin 中点击