每个人都会告诉你,保持静态Context
使其不被GC限制,这很糟糕。但是,如果您需要一些依赖于Context
的静态资源,则需要该静态字段。所以你什么时候发布它?我查看了Facebook SDK源代码并保留了参考资料。有没有办法连接应用程序生命周期来释放引用,或者是否可以接受静态应用程序上下文?
答案 0 :(得分:0)
应用程序上下文正常,因为在您的应用程序以任何方式运行时,它永远不会被垃圾回收。你不想做的是持有一个活动上下文,因为它包含各种其他非上下文相关的引用。
我不确定你要做什么,但这里是一个存储应用程序上下文的类的例子。
class myClass {
private final Context mContext;
public myClass(Context context) {
this.mContext = context.getApplicationContext();
}
public String getSomeString() {
return mContext.getString(R.string.name);
}
}