只是好奇Android垃圾收集如何适用于startActivityForResult()

时间:2017-04-26 21:22:14

标签: android

我有三个活动:A,B和C.

活动A将启动活动B,其中长值与意图一起传递,活动B将此长值保存在其实例变量中。

然后,Activity B将在某个时刻startActivityForResult()活动C.

但如果我理解正确,当活动C正在运行时,活动B可以被垃圾更正,因此活动B的实例变量将丢失。

我想知道活动B中的长值是否会被垃圾更正。

为简单起见,活动A == [意图使用长值] ==>活动B(将在其实例中保存长值)== [startActivityForResult()] ==>活动C

我假设我必须在savedInstanceState中保存long值,如果是这样的话。

但是我也听说从Activity A创建的Intent有点保留,所以当调用onCreate()时,将重新初始化long值。

请问好吗?

1 个答案:

答案 0 :(得分:0)

首先。在手机上的开发人员设置中(sxroll一直到底部),您可以禁用内存中的活动。测试案例的好方法。 第二。保留意图参数。所以当你从C回到B时,你的意图数据仍然存在。