Я много раз задавал этот вопрос и нашел много разных рекомендаций о том, когда использовать getBaseContext, getApplicationContext или собственный этот указатель.
Три правила, которые часто возникают и, похоже, имеют большой смысл, -
- Для долговременной ссылки на контекстная деятельность getApplicationContext следует использовать поскольку это существует до тех пор, пока приложение существует
- Для контекстов, жизненные циклы которых связанные с их деятельностью, свои контекст активности (this) должен быть б
- Сохранять контекстные указатели статически только с большой осторожностью (и, если возможно, совсем нет)
Предполагая, что это правильно, что такое использование getBaseContext?
Я видел много примеров, когда новые намерения создаются с помощью -
Intent intent = new Intent(getBaseContext(), myClass.class);
В отличие от -
Intent intent = new Intent(this, myClass.class);
Каков правильный или рекомендуемый метод и почему?