例如,如果我从 A 调用活动 B ,Android系统如何保存活动A的状态?是使用onsaveinstancestate()
方法保存的吗?如果是这样,当活动A恢复时,调用恢复活动状态A的方法序列是什么。我了解活动A在调用活动B时通过Onpause()
和OnStop()
方法一旦需要恢复活动A,就会调用onRestart()
方法。但是,活动状态A究竟是如何恢复的?
答案 0 :(得分:2)
此图像显示所有活动状态
This link解释如何存储信息并在活动恢复后将其恢复。
protected void onCreate (Bundle savedInstanceState)
活动开始时调用。这是大多数初始化应该去的地方。
参数的
savedInstanceState 如果在之前关闭之后重新初始化活动,则此Bundle包含 onSaveInstanceState(Bundle)
中最近提供的数据。注意:否则为null
。
protected void onRestoreInstanceState (Bundle savedInstanceState)
当onStart()
从savedInstanceState
中的先前保存状态重新初始化活动时,将调用此方法。 大多数实现只使用onCreate(Bundle)来恢复其状态,但有时在完成所有初始化之后在此处执行此操作或允许子类决定是否使用默认实现。此方法的默认实现执行先前已被onSaveInstanceState(Bundle)
冻结的任何视图状态的恢复。
答案 1 :(得分:0)
没有。你做。使用onPause()来编写应用程序状态。 onResume()来恢复它。使用“首选项”存储和加载变量值。