此字段泄漏上下文对象

时间:2018-01-22 12:38:28

标签: android

我在非Activity中使用Context对象,它工作正常,但问题是它显示警告

这就是我使用上下文对象的地方 enter image description here

这是检查的结果 enter image description here

1 个答案:

答案 0 :(得分:6)

您可以在这种情况下使用WeakReferences。像这样的东西:

public class ContactsTask {
    private WeakReference<Context> weakContext;

    public void ContactsTask(Context context){
        weakContext = new WeakReference<>(context);
    }

    public void doSomethings(){
        if (weakContext!=null) weakContext.get() ...    //return context without leaks
    }

}