Шаблон команды для передачи методов активности приложения?

После прочтения статьи @RomainGuy Избежание утечек памяти я понял, что мое текущее Android-приложение страдает от ошибки передачи основной активности приложения. Поэтому всякий раз, когда я могу просто заменить этот параметр активности на Activity.getApplicationContext().

Но в моем приложении есть определенные классы, которым все еще нужно запускать методы, которые могут быть только членами основного действия приложения.

Поэтому я подумал о возможном использовании Шаблона команд для обхода этого ограничения.

Проблема в том, что если мы посмотрим на этот пример:

public class SomeCommandExecuableOnlyByActivity implements Command 
{
    public void execute(Object data) 
    {
        doIt( ((MyActivity)data).getWindow() );
    }    
}

Я снова захожу в тупик, нуждаясь в обходе активности (, на этот раз замаскированной под Objectданные ).

Как выйти из ситуации "курица и яйцо"?

Есть ли лучший способ подойти к этой проблеме?

7
задан Community 23 May 2017 в 12:33
поделиться