代码之家  ›  专栏  ›  技术社区  ›  Richard Szalay

正在保存应用程序状态

  •  3
  • Richard Szalay  · 技术社区  · 15 年前

    作为后续来源 my question on sharing state between Activities ,如何保存应用程序的实例状态?自从 Application 不延伸 Activity 没有 onSaveInstanceState 要重写的方法。

    注意:事先,这不是副本。尽管它的名字, How do I save an Android application’s state? 与活动状态相关

    1 回复  |  直到 15 年前
        1
  •  4
  •   David Webb    15 年前

    不能 使用 Application.onTerminate() 因为不能保证这会被叫来。

    因为同样的原因你不能使用 onStop() onDestroy() Activity 要么。

    所以你必须在 onPause() 每个活动中的方法。每个 活动 会有个电话 saveState() 你在你的 Application . 因为这将被大量调用,所以您需要尽可能提高效率,理想情况下只将更改的数据写入持久存储。

    你也应该注意到 onSaveInstanceState() 只能用于存储 瞬态 安的状态 活动 .例如,如果 活动 由用户按后退按钮结束 OnSaveInstanceState()。 未调用。因此,即使您没有共享状态,也应该继续使用 OnPoAube() 保存永久性更改。