繁体   English   中英

我应该在onCreate还是onRestoreInstanceState中恢复savedinstancestate?

[英]Should I restore savedinstancestate in onCreate or in onRestoreInstanceState?

我有一个活动开始一些其他活动的结果,所以当结果返回时,活动可能已经或可能没有被销毁和重新创建。

我重写了onSaveInstanceState,以便添加需要保留和恢复的数据。

当活动被销毁并重新创建时,onCreate将传递savedInstanceState包; 而且调用onRestoreInstanceState()并传递相同的bundle。

那么我应该在哪里放置从包中提取数据的代码并恢复状态? 在onCreate或onRestoreInstanceState中? 保证后者始终被称为?

是否有可能在不调用onCreate的情况下调用onRestoreInstanceState? (例如,如果活动停止并重新启动但未被销毁和重新创建)?

“而不是在onCreate()期间恢复状态,你可以选择实现onRestoreInstanceState(),系统在onStart()方法之后调用。只有当存在要恢复的保存状态时,系统才会调用onRestoreInstanceState(),所以你不要需要检查Bundle是否为NULL“

以下链接清楚地解释了重启活动。

Android指南

Android在onStart()和onResume()生命周期方法之间调用onRestoreInstanceState()方法。因此,为了恢复活动状态,只需实现onRestoreInstanceState()方法恢复活动状态。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM