Полезно ли создавать ссылку на контекст приложения и использовать ее где угодно? - PullRequest
0 голосов
/ 08 июня 2010

Мне приходится использовать контекст во многих местах моего кода, таких как операции с базой данных, операции предпочтения и т. Д. Я не хочу передавать контекст для каждого метода.

Является ли хорошей практикой создание ссылки на контекст приложения в главном Activity и его использование где угодно, например, в операциях с базой данных? Поэтому мне не нужно много контекста в параметрах метода, и код может избежать утечки памяти положения из-за использования контекста Activity.

public class MainActivity extends Activity  {

    public static Context s_appContext;

    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);

        s_appContext = this.getApplicationContext();

1 Ответ

1 голос
/ 08 июня 2010

Для меня это пахнет как хак, хотя я согласен, что это может быть болью, когда нужно обойти все эти контексты. По крайней мере, одна проблема, с которой я сталкиваюсь при таком подходе, заключается в попытке модульного тестирования любого вашего кода, нуждающегося в контексте, - теперь все зависит от того, был ли вызван метод onCreate вашей основной деятельности.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...