我正在构建一个Android应用程序,并且想询问是否在活动重新创建期间保存/保留了启动活动的意图(可通过 getIntent()方法访问),例如设备方向,或者只是android可以擦除应用程序状态的事实,如果它在后台并重建它(如果内存不足)?
这是一个简单的例子,说明了这个问题:
应用程序启动活动 A 。然后,用户点击启动新活动 B 的按钮。活动 A 已通过意图将活动 B 发送到字符串 X ,值 Hello (使用 putExtra 方法)。
在活动 B 中,我可以通过检索意图(通过 getIntent()方法)然后检索字符串 X 的内容检索字符串内容(通过 getStringExtra 方法)。
如果由于设备轮换而重新创建活动,我是否仍然能够从意图中检索额外的字符串,甚至是意图本身...?
或者我应该在 onSaveInstanceState 方法中保存额外的字符串?
我尝试过设备旋转方案,并且始终可以访问意图(以及额外的字符串)。
答案 0 :(得分:26)
如果由于设备轮换而重新创建活动,我仍然可以从intent中检索额外的字符串,甚至是意图本身吗
是。配置更改后,您将拥有与配置更改之前相同的Intent
(或至少是Intent
的副本)。