Я знаю, что использование статических переменных на Android довольно рискованно, особенно если вы ссылаетесь на их действия. Однако, если у меня есть класс, расширяющий приложение (позвольте этому классу "App" ), безопасно ли ссылаться на экземпляр этого класса?
Если да, то безопасно ли для любого другого класса иметь какую-либо ссылку на контекст приложения? Я имею в виду, может ли быть утечка памяти, если у меня есть ссылка на контекст приложения в любом классе?
Цель состоит в том, что независимо от того, в какой области я работаю, я всегда могу получить ссылку на контекст приложения. Я считаю, что это безопасно, поскольку, если система закрывает приложение, статическая переменная также исчезает до следующего запуска приложения снова, что снова инициализирует статическую переменную.
Кроме того, это не так важно, но если я использую несколько процессов, получаю ли я совершенно разные ссылки на класс App для каждого процесса?
Как пример кода, вот о чем я думаю:
public class App extends Application
{
private static Context _appContext;
@Override
public void onCreate()
{
super.onCreate();
_appContext = this;
}
public static Context getAppContext()
{
return _appContext;
}
}