当从低内存中的第三个活动返回时,getIntent()可能为空或null

时间:2014-11-05 10:12:51

标签: android android-intent

我用活动A中的字符串额外调用Intent - >活动B. 这很有效。

我要问的是

从活动B导航 - >活动C并单击返回,在大多数情况下,活动将恢复,但如果活动被系统破坏了怎么办? 我知道会重新创建,但在这种情况下getIntent()会为空吗?

2 个答案:

答案 0 :(得分:0)

请注意,我 cant 请确保此答案是正确的,因为这只是基于我的经验。随意评论。

  

从活动B导航 - >活动C并在大多数情况下单击返回   案件活动将恢复,但如果活动得到了什么   被系统摧毁?在这种情况下,getIntent()是否为空?

我一直处在这样的情况下,活动必须按顺序运行,这意味着当onBackPressed被解雇时,用户必须前往活动B(在您的情况下来自C)。

我在logonPause中添加了一些onDestory,以查看操作系统是否删除了我的应用,因为它需要一些空闲内存。然后,我用我的旧手机测试它具有低RAM(第一代HTC的愿望)并打开很多应用程序,以确保RAM使用率已满。

结果呢?

是的,我的旧手机破坏了我的应用(来自logcat)。幸运的是,在我当前的活动重新启动后,onBackPressed仍然正常工作(返回上一个活动)。

答案 1 :(得分:0)

回答你的问题: 不,它不会是空的。

如果您回忆一下Android的基础知识,您会记得您可以依靠Extras通过Intent将活动信息发送给另一个。如果在内存不足之后该意图可能会变空,那么你也会失去那些Extras,并且你将无法成功重新创建Activity。

请查看此答案以获取更多信息: in Android if OS kills my application, will getIntent() return the Intent with the same extras?