Есть ли эквивалент MethodHandle в Android?

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

Java 7 представила класс MethodHandle для динамического выполнения метода данного класса. Из того, что я вижу, в Android-порту JDK нет такой вещи. Есть ли способ обхода, который можно использовать для обхода этого, кроме использования стандартных классов отражения?

Вы могли бы просто получить соответствующий объект Method и вызвать его.

Но если вы хотите что-то быстрее, вы можете создать класс во время выполнения, который вызывает ваш целевой метод. Поэтому вы обнаруживаете метод с использованием нормального отражения, генерируете класс MethodCaller, который реализует определенный интерфейс, который вы определяете заранее (callMethod ()?), Загружайте этот новый класс и используйте его. Есть библиотека, совместимая с временем выполнения android, и длинное обсуждение, в котором перечислены другие возможные альтернативы.

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