Я решил ответить на свой вопрос не потому, что любой из ответов плохой, а потому, что, хотя они одинаково хороши, никто не дает полного ответа.
Похоже, что одним из основных факторов, которые следует принимать во внимание, является возможность повторного использования:
Использование MyActivity.this для ссылки на контекст означает, что вам придется изменить свой код, если вы когда-нибудь решите использовать класс в другом проекте / классе / контексте.
Передавая контекст в конструкторе и ссылаясь на него как на частную переменную, вы можете повторно использовать класс в любом месте без изменений.
Другим фактором, который будет влиять на ваш выбор, является то, является ли ваш внутренний класс публичным или закрытым. Не имеет смысла делать внутренний класс общедоступным, а затем ссылаться на контекст с помощью MyActivity.this. Приложение принудительно закроет момент, когда вы используете класс из другого действия. Я бы сказал, однако, что открытый класс принадлежит в своем собственном файле, но это зависит от отдельного разработчика.
Наконец, существует проблема простоты, поскольку проще написать MyActivity.this, чем реализовать конструктор и т. Д. Эта кажущаяся простота может вернуться и укусить вас, как вы можете видеть выше, если вы решите, что вам нужно использовать класс где-то еще.
Я буду продолжать использовать MyActivity.this для простоты для всех встроенных обработчиков событий, но для любой другой ситуации кажется, что передача контекста конструктору является наилучшей практикой.