简短的问题:是否可以使用onSaveInstanceState()方法保存数据,然后在活动的下一次开始时调用finish()以获得savedInstanceState中的数据?或者活动的finish()意味着数据已经消失了?
如果第一个答案是正确的,那么我的实现中会出现一些问题,因为虽然保存了数据,但我还是在onCreate()中获得了onCreate()。如果第二个答案是正确的,我将不得不重新思考如何将我的活动联系在一起:o)
发布于 2016-04-25 12:48:51
是否可以使用onSaveInstanceState()方法保存数据,然后对活动调用finish(),并在活动的下一个开始时调用finish()以获得savedInstanceState中的数据?
不是的。
或者活动的finish()是否意味着数据已经消失?
是。保存的实例状态Bundle用于这样的情况:从用户的角度来看,您的活动仍然存在,但是由于技术原因它正在被销毁:
如果出于其他原因调用finish() --直接调用它、用户按回键等等--则不再需要保存的实例状态,可以丢弃。
因此,保存的实例状态Bundle用于临时数据,您希望保留这些数据,但在面临配置更改和进程终止(如部分填充表单的内容)时,您很容易丢失这些数据。
https://stackoverflow.com/questions/36841033
复制相似问题