【发布时间】:2018-02-08 12:30:09
【问题描述】:
我有一个活动,我必须从一个地方触发一个自定义弹出对话框,该对话框也是一个单例
从我的活动中,我打开了弹出窗口:
ScheduleDialog.getInstance().refreshContent(new WeakReference<Context>(this), new WeakReference<ScheduleDialog.interface>(this));
什么是最好的? 1) 创建 2 个本地引用(在 ScheduleDialog 中),例如:
Context mContext = nContext.get();
2) 保持两者都像弱引用,并且仅在我需要它们时使用:
nContext.get();
这与泄漏错误/警告有关
谢谢
【问题讨论】:
-
你没有解释为什么你使用
WeakReference作为上下文(如果事实上你可以使用应用程序上下文)并且还显示了ScheduleDialog代码(否则我们不知道你的代码是否泄漏)。