Android应用程序在一些空闲时间后重置

时间:2017-01-20 19:00:30

标签: java android android-studio reset

我最近创建了我的第一个Android应用。它是一个非常简单的应用程序,有两个计数器来保持两队在IRL纸牌游戏中的得分。无论如何,如果用户选择在应用程序打开时访问其他应用程序,就像前一样。检查whatsapp并让应用程序在后台运行,它工作正常,大部分时间...如果用户长时间离开应用程序,应用程序往往会重置为它的默认状态,这意味着得分计数器都重置为0,这非常令人沮丧。有没有办法防止这种情况发生?就像在内存中保存应用程序的状态,直到用户返回或类似的东西?应用程序计数器是基本的Textview对象。提前谢谢!

3 个答案:

答案 0 :(得分:0)

您无法阻止您的流程被终止。如果您希望数据在您的进程终止后仍然存在,请将数据保存在数据库SharedPreferences或其他类型的文件中。

答案 1 :(得分:0)

可以通过savedInstanceState变量保存/恢复状态。

@Override public void onCreate(Bundle savedInstanceState) { }

https://developer.android.com/guide/components/activities/activity-lifecycle.html

当用户使用其他应用时,会调用onPause(),onStop()事件。一段时间后,操作系统释放内存并调用onDestroy()。这是你保存任何州的最后机会。

答案 2 :(得分:0)

您需要实现onSaveInstanceState和onRestoreInstanceState

@Override
public void onSaveInstanceState(Bundle savedInstanceState) {
  super.onSaveInstanceState(savedInstanceState);

  savedInstanceState.putInt("int", 1); 
}

@Override
public void onRestoreInstanceState(Bundle savedInstanceState) {
  super.onRestoreInstanceState(savedInstanceState);
  int myInt = savedInstanceState.getInt("int");
}

或使用库:IcePick