已经以多种形式提出了这个问题,并多次提出here和here.但是我想确认一件事,我的问题很简单:android:onClick是否使用Java反射?
由于Java反射会降低性能as explained here,因此我永远不会以低效的方式编写代码.
我只想要一个简单的答案:是(仅在您确定的情况下)或否?
编辑:
关于SO的理解有很多答案与理解不一致:
例如,请参阅this one和this one.两者都接受了答案并且都在说两种不同的说法. (这就是为什么我发布了问题.)
解决方法:
实际上,它确实使用反射将方法(“ methodName”)绑定到处理程序.在扩展XML时,这是一笔交易,并且不会以任何有意义的方式影响性能. XML膨胀本身是相当昂贵的解析,
除此之外,这完全类似于在代码中执行此操作.