【发布时间】:2019-09-01 14:21:12
【问题描述】:
我对 Android 和 Kotlin 开发相当陌生,目前正在学习最初为 Java 编写的教程。其中经常出现如下模式:
void onSomething(View v) {
switch(v.getId()) {
case R.id.btn1:
...
}
}
但是我在我的项目中使用 Kotlin 和 Kotlin Android 扩展,它允许编写如下开关:
fun onSomething(v: View) {
when (v) {
btn1 -> { ... }
}
}
最后一个对我来说似乎更具可读性,但据我了解,在后台,KAE 将这个方便的 UI 标识符的访问转换为一种用哈希表实现的缓存。这可能需要有点比比较整数更繁重,具体取决于实现。我完全支持可读的代码,但想更好地理解 KAE 的底层魔力。
所以考虑到这一点,
1) 在开关中使用View 引用而不是 ID 在 Kotlin / KAE 中是一种好习惯吗?
2) 除了过早优化之外,它是否会对我的应用的性能或内存占用产生负面影响?
【问题讨论】:
标签: android kotlin kotlin-android-extensions