我在基于TabHost的应用程序的主要活动中实现了onSaveInstanceState函数。我需要保存我保留在内存中的各种对象的状态,我已经将其标记为可序列化,以及一些基本的int和字符串值。我已经逐步完成了我的应用程序并观察它调用了onSaveInstanceState函数,并且可能会保存所有内容而不会出现任何异常或问题。问题是我每次启动应用程序后都会使用null Bundle值调用onCreate函数。我真的很茫然,不确定为什么它会调用save但不会将任何内容传递给create。任何指导都表示赞赏。
答案 0 :(得分:2)
onCreate()
将传递null
Bundle
。如果应用程序由于某些先前需要系统onCreate()
而重新启动,null
将会传递非Bundle
onDestroy()
,例如旋转屏幕时的默认情况。
如果您希望在任何应用程序启动时保存状态以便重复使用,而不仅仅是在屏幕旋转后重新启动应用程序时,您可以自己动手。