如何在我的Utils類中靜態引用private static Resources mRes;
是否安全?靜態資源成員變量上的Android內存泄漏?
public static void init(Resources res) {
mRes = res;
}
.. later in activity
Utils.init(getContext().getResources());
在我看來,它會導致內存泄漏(對數從下面的Eclipse內存分析器)
mOuterContext android.app.ContextImpl
'- mContext android.content.res.Resources
|- mRes class com.github.mikephil.charting.utils.Utils
|- mResources android.app.LoadedApk
|- mResources android.app.ContextImpl
|- this$0 android.content.res.Resources$Theme
| '- referent java.lang.ref.FinalizerReference
| '- next java.lang.ref.FinalizerReference
| '- next java.lang.ref.FinalizerReference
是否有安全的方式來獲得參考資源類,即不漏整個活動?
在這個例子中,上下文成員變量應該作爲getApplicationContext()初始化(在我的onCreate()中調用?) – 2014-10-11 13:13:16
事實上,它會更好 – ToYonos 2014-10-11 13:17:19