Должны ли дополнения Intent быть удалены?
Это может быть глупым вопросом, но есть ли правило, которое гласит, что преднамеренные дополнения должны быть явно удалены потребляющим действием, или это верно только в том случае, если вы перерабатываете объекты 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 ответ
Если вы планируете использовать тот же объект Intent, но вам не нужны (и не нужны) дополнительные функции, вы можете удалить их. Если вместо этого вы хотите вызвать начало с одинаковыми намерениями с теми же дополнениями, сохраните их. И, наконец, если объект будет уничтожен, кого это волнует?
В любом случае я бы определился с деятельностью вызывающего абонента, а не с получателем намерения.