3

这可能是一个愚蠢的问题,但是否有一条规则规定必须由消费活动显式删除意图额外内容,或者只有在回收 Intent 对象时才如此?

换句话说,如果我总是通过执行以下操作链接到下一个活动:

Intent i = new Intent(MyCurrentActivity.this, FooActivity.class);
i.putExtra("first", "stringvalue");
i.putExtra("second", 69L);
startActivity(i);

然后,在 FooActivity 中,我将它们读回...

String first = getIntent().getStringExtra("first");
long second = getIntent().getLongExtra("second");

...我是否还必须明确删除它们以避免意外污染未来活动的意图,或者从我完成抓取它们的那一刻起,我可以忘记它们甚至存在并继续前进吗?

我可以发誓我记得读过一些说我必须删除它们的东西,但我再也找不到它了,我怀疑它可能只适用于重复使用的意图对象。

4

1 回答 1

2

如果您打算使用相同的 Intent 对象但不需要(也不想要)额外的,那么您可以删除它们。相反,如果您想用相同的附加功能调用启动相同的意图,则保留它们。最后,如果对象要被销毁,谁在乎额外的东西?

无论如何,我会决定调用者的活动,而不是意图的接收者。

于 2011-05-23T17:24:05.420 回答