2015-06-28 2 views
0

Все скажут вам, что сохранить статику Context не позволяет ей быть GC'ed, и это плохо. Но если вам нужны статические ресурсы, которые зависят от вашего Context, вам нужно это статическое поле. Итак, когда вы его отпускаете? Я просмотрел источник SDK для Facebook, и они содержат ссылку. Есть ли способ подключиться к жизненному циклу приложения, чтобы освободить ссылку или использовать статический контекст приложения?Когда вы отпускаете статический Контекст

ответ

0

Приложение приложение контекст в порядке, поскольку он никогда не будет собираться с мусором, пока ваше приложение работает в любом случае. То, что вы не хотите делать, это удерживать контекст активности, поскольку он содержит всевозможные другие ссылки, не связанные с контекстом.

Я не уверен, что вы пытаетесь сделать, но вот пример класса, в котором хранится контекст приложения.

class myClass { 
    private final Context mContext; 

    public myClass(Context context) { 
     this.mContext = context.getApplicationContext(); 
    } 

    public String getSomeString() { 
     return mContext.getString(R.string.name); 
    } 
} 
Смежные вопросы