首页 > 解决方案 > 与kotlin中参考的性能差异

问题描述

我的问题是,当我在 kotlin 中使用引用与“正常”方法(没有)时是否存在任何性能差异。假设我们要向 a 提交一个列表ListAdapter,我们可以使用两种方法。

方法一

shoppingCartViewModel.productList.observe(viewLifecycleOwner) {
     it.let(shoppingCartAdapter::submitList)
}

方法二

shoppingCartViewModel.productList.observe(viewLifecycleOwner) {
     shoppingCartAdapter.submitList(it)
}

首选的方法应该是什么?

标签: androidperformancekotlinreflection

解决方案


实际上还有第三种可能性(我猜......):

shoppingCartViewModel.productList.observe(viewLifecycleOwner, shoppingCartAdapter::submitList)

关于性能差异,请参见例如this question,但简而言之,差异可以忽略不计。您应该更关注哪个版本更具可读性。我肯定会尽量避免第一种方法,这让我很困惑。


推荐阅读