我有一个快速的问题,我希望别人有一个快速的答案:如果你开始活动[A],然后用startActivityForResult()开始活动[B],是否有机会当[B]完成并返回一个值(意图),[A]可能是GC'd,因此一切崩溃?StartActivityForResult()可能崩溃?
我在某处读过这可能会发生,因此您不应该使用Intent.putExtras()传回重要信息,因为它可能会丢失?相反,人们建议将状态保存在sharedPreferences中,当从[A]到[B]时再使用startActivity(),然后再从[B]返回到[A]时再使用startActivity()?
我真的想避免因为这个而重新编码我正在进行的项目,但是如果这可能是一个问题,我显然希望在发布之前照顾它。
但是,如果这是可能的,你不能只是从[A]中放置一些你在[B]中使用的静态引用,从而做出一个硬引用,而不允许GC?
感谢您的帮助!
哇,这真是一个非常神秘的话题。我不会假装我知道Dalvik/Java中的垃圾收集的任何事情,但我的意思是我不会指望Android系统是那种马虎。除非你在内存管理方面做些棘手的事情。 –
@丹尼尔..我想这不会,但我也想确定。我从来没有碰到过这个,我只是读了一下,并且很好奇,所以想问问周围。感谢您的回复。 –