在启动时创建新实例

时间:2012-12-06 04:08:55

标签: java android oncreate

我对android很新,但我注意到几乎每个教程都以此开头:

public void onCreate(Bundle savedInstanceState) {
   super.onCreate(savedInstanceState);

但我不希望州在重新启动应用程序时保持不变。我希望用户在重新启动应用程序时从头开始。我怎样才能做到这一点?

2 个答案:

答案 0 :(得分:1)

在Android中,状态管理在活动生命周期中由您决定。 onCreate,onPause,onDestroy和其他生命周期方法都可用于保存和恢复活动状态以及执行其他操作。如果您不希望您的应用程序保存任何状态,无论是文本框还是动画,或者什么不是,请不要捕获它并在这些事件中恢复它。

Bundle savedInstanceState仅在您暂停或停止活动时由您设置,允许您在onCreate或onResume方法中存储状态并获取它,但这也会在布局的方向更改时发生(用户提示)从肖像到风景)然后你可能想要保存该Bundle中的状态细节。

当然,您可以随时重置覆盖onResume的任何字段。

此外,Activity Launch Modes可能值得一看。很多时候我会将我的主要活动设置为singleTop,以便在任何给定时间只启动一个实例。

答案 1 :(得分:0)

   protected void onPause()
   {
   finish();  
   }

它会在暂停时终止活动。每次都会创建一个新实例。