我需要在我的 utils 类中引用 Context。
首先我要扩展应用程序类并初始化我的实用程序类:
public class MyApplication extends Application {
@Override
public void onCreate() {
super.onCreate();
Utils.init(getApplicationContext());
}
}
utils 类看起来像:
public class Utils{
private static Context sContext;
private Utils() {
}
public static void init(Context context) {
sContext = context;
}
}
是否有任何可能的方法来使用这种方法进行泄漏?
我只能看到一种情况:当应用程序进入后台时 - 可以重新创建上下文,因此即使 Utils 类会持久存在内存中,也可能会重新初始化它。
有任何建议,请。
最佳答案
你应该按如下方式解决:
public class YourClass extends Application {
private static Context context;
public void onCreate()
{
super.onCreate();
YourClass.context = getApplicationContext();
}
public static Context getAppContext() {
return YourClass.context;
}
}
使用方法:
YourClass.getAppContext();
关于java - Android - 静态上下文,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35816270/