Может кто-то уточнить ссылки на контекст Android? - PullRequest
4 голосов
/ 02 мая 2011

Мое недоразумение продолжается ...

Кто-нибудь может привести ссылки на правильное использование get*Context()? Я получаю противоречивые рекомендации по использованию getBaseContext(), getApplicationContext() и getContext(), и я понимаю, что использование this удобно для get*Context(). Я хотел бы более подробно изучить, что Dalvik планирует для своих объектов и методов доступа.

У меня были проверки кода, которые изменили мои звонки с getBaseContext() на getApplicationContext(), теперь я вижу предложения использовать это.

1 Ответ

1 голос
/ 04 мая 2011

http://android -developers.blogspot.co.uk / 2009/01 / avoiding-memory-leaks.html

Прочтите эту статью.В нем описывается, почему мы должны использовать getApplicationContext(), а не Activity this

Это краткое изложение статьи:

В заключение, чтобы избежать утечек памяти, связанных с контекстом, помните следующее:

  • Не хранить долговременные ссылки на контекстную активность (ссылка на операцию должна иметь тот же жизненный цикл, что и само действие)
  • Попробуйте вместо этого использовать приложение контекстаконтекстной активности
...