Передача Context в качестве параметра методу в классе Singleton вызывает утечку памяти - PullRequest
0 голосов
/ 12 мая 2019

Я объявляю класс Singleton, где мне нужно передать параметр контекста для одного из методов в этом классе

public class MySingleton() {
    Private Context mContext;
    Private static MySingleton mInstance;

    public static MySingleton mInstance() {
        if (mInstance == null) {
            mInstance = new MySingleton();
        }
        return mInstance;
    }

    public void myMethod(Context context)
    {   
       this.mContext = context;
       // write your code here....
     }
}

приведет к утечке памяти.

1 Ответ

2 голосов
/ 12 мая 2019

Может, так как вы не знаете, на какую Context вы будете ссылаться. Было бы безопаснее написать:

this.mContext = context.getApplicationContext();

Таким образом, вы уверены, что mContext ссылается на Application синглтон.

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