我创建了一个只在一个地方调用的方法——onBindViewHolder()
在 RecyclerView 中。它是代码的逻辑单元,我认为将代码块提取到方法中可以提高可读性。但是,在代码审查期间,我被告知方法调用很昂贵,因此会对性能产生负面影响,并且我应该内联代码而不是将其放在单独的方法中。
我认为 JVM 或编译器会通过内联该方法来优化此代码,但我不确定 Android 上是否是这种情况。我还没有真正找到任何关于新的 ART JVM 做了什么样的优化的具体信息。
在 Android 上调用一个方法是否如此昂贵,以至于我应该在可能多次调用该方法的地方以可读性为代价避免它?此外,由于 DEX 方法的限制,创建这样的一次性方法是否令人不快?(这个应用程序已经在使用 multidex)。
这个问题与其他类似的 java 问题没有重复,因为我专门询问 Android 上的性能,它有自己的特质。