Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/neo4j/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android StartActivityForResult()是否可能崩溃?_Android_Android Activity_Garbage Collection_Android Intent - Fatal编程技术网

Android StartActivityForResult()是否可能崩溃?

Android StartActivityForResult()是否可能崩溃?,android,android-activity,garbage-collection,android-intent,Android,Android Activity,Garbage Collection,Android Intent,我有一个简短的问题,我希望其他人能快速回答:如果您先启动活动[a],然后使用startActivityForResult()启动活动[B],那么当[B]完成并返回[a]可能已被GC处理的值(意图)时,是否有可能导致所有内容崩溃? 我在某个地方读到过这样的情况,因此您不应该使用Intent.putExtras()将重要信息传回,因为它可能会丢失?相反,人们建议将状态保存在SharedReferences中,并在从[A]转到[B]时简单地使用startActivity(),然后再从[B]回到[A]时

我有一个简短的问题,我希望其他人能快速回答:如果您先启动活动[a],然后使用startActivityForResult()启动活动[B],那么当[B]完成并返回[a]可能已被GC处理的值(意图)时,是否有可能导致所有内容崩溃?

我在某个地方读到过这样的情况,因此您不应该使用Intent.putExtras()将重要信息传回,因为它可能会丢失?相反,人们建议将状态保存在SharedReferences中,并在从[A]转到[B]时简单地使用startActivity(),然后再从[B]回到[A]时使用startActivity()

我真的很想避免因为这个原因重新编码我正在进行的项目,但如果这可能是一个问题,我显然希望在发布之前处理好它

然而,如果这是可能的,你能不能只在[B]中使用[a]中的一些静态引用,从而进行硬引用,而不允许GC?


谢谢大家的帮助

如果已销毁,将重新创建。从Android开发指南中的:

受保护的void(int请求代码、int结果代码、意图数据)

[……] 当您的活动重新开始时,您将在onResume()之前立即收到此呼叫


这意味着活动A将正常重新创建(执行onCreate()、onStart()和onActivityResult(),如中所述),并且您在活动B中设置的结果意图将被传递。

哇,这真是一个神秘的主题。我不会假装我对Dalvik/Java中的垃圾收集有任何了解,但我的意思是我不会指望Android系统会如此草率。除非你在内存管理方面做了一些不正常的事情。@Daniel。。我想不会,但我也想确定一下。我从来没有遇到过这个问题,我只是读到了它,我很好奇,所以想四处打听。谢谢你的回复,谢谢。这就是我要找的信息!非常感谢。