是否必须删除Intent额外内容?

时间:2011-05-23 17:17:12

标签: android android-intent extra

这可能是一个愚蠢的问题,但有一条规则规定必须通过消费活动明确删除意图附加内容,或者只有在您回收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");

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

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

1 个答案:

答案 0 :(得分:2)

如果您计划使用相同的Intent对象但不需要(也不想要)额外内容,则可以删除它们。相反,如果你想用相同的额外内容调用相同的意图,那么保留它们。最后,如果对象将被销毁,谁在乎附加内容?

在任何情况下,我都会决定来电者的活动,而不是意图的接收者。