在onPause中保存活动状态

Wag*_*ith 18 double lifecycle android save oncreate

我有一个变量,我使用onSaveInstanceState成功保存和恢复

@Override
protected void onSaveInstanceState(Bundle outState) {
    super.onSaveInstanceState(outState); // the UI component values are saved here.
    outState.putDouble("VALUE", liter);
    Toast.makeText(this, "Activity state saved", Toast.LENGTH_LONG).show();
}
Run Code Online (Sandbox Code Playgroud)

但这仅在活动被销毁时才有效.我希望通过覆盖onPause()方法来保存相同的变量,并且当活动不再暂停时返回任何关于如何执行此操作的任何想法都非常感谢

lyr*_*boy 37

正如您所发现的那样,onSaveInstanceState仅在需要在操作系统销毁后重新创建活动的同一个所谓"实例"的情况下才有用,通常是因为它在后端堆栈中太远而无法在内存中保持活动状态压力.

保存数据onPause确实是持久性的方式,持续时间超过单次执行Activity.为了实现这一目标,您有多种选择,包括:

  • 共享首选项
  • 数据库
  • 内容提供商

我建议您阅读此文档以了解有关以下每个选项的更多信息:

http://developer.android.com/guide/topics/data/data-storage.html