在阅读了@RomainGuy 的避免内存泄漏文章后,我意识到我当前的 Android 应用程序被传递应用程序的主要活动的错误所困扰。因此,无论何时,我都可以简单地用Activity.getApplicationContext()替换该活动参数。
但是我的应用程序中的某些类仍然需要运行只能是应用程序主活动成员的方法。
因此,我在考虑可能使用命令模式来解决这个限制。
问题是,如果我们看那个例子:
public class SomeCommandExecuableOnlyByActivity implements Command
{
public void execute(Object data)
{
doIt( ((MyActivity)data).getWindow() );
}
}
我再次陷入需要绕过活动的死胡同(这次伪装成Object
数据)。
我该如何摆脱这种“鸡与蛋”的局面?
有没有更好的方法来解决这个问题?