如何在我的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