@RomainGuy によるメモリ リークの回避の記事を読んだ後、現在の Android アプリケーションが、アプリケーションのメイン アクティビティを渡すという間違いに悩まされていることに気付きました。そのため、いつでもそのアクティビティ パラメータをActivity.getApplicationContext()に置き換えることができます。
しかし、私のアプリケーションには、アプリケーションのメイン アクティビティのメンバーにしかできないメソッドを実行する必要がある特定のクラスがあります。
したがって、コマンド パターンを使用してこの制限を回避することを考えていました。
問題は、その例を見ると、次のことです。
public class SomeCommandExecuableOnlyByActivity implements Command
{
public void execute(Object data)
{
doIt( ((MyActivity)data).getWindow() );
}
}
私は再びアクティビティの周りのパスを必要とする行き止まりに直面しています (今回はObject
データとして偽装されています)。
この「鶏が先か卵が先か」の状況から抜け出すにはどうすればよいでしょうか。
この問題にアプローチするより良い方法はありますか?