在Android-Kotlin中,“by lazy”是一种延迟初始化的方式。它可以避免在程序中过早地初始化某个变量,从而提高程序的性能和效率。
示例代码:
class MyClass { // 使用“by lazy”进行延迟初始化 val expensiveVariable: Int by lazy { println("Initializing expensive variable...") 10 } }
fun main(args: Array
// 延迟初始化只在第一次访问变量时进行
println(myObj.expensiveVariable)
println(myObj.expensiveVariable)
}
上述代码中的MyClass类中的“expensiveVariable”变量使用了“by lazy”进行延迟初始化。在主函数中,我们创建了MyClass的实例myObj,并调用了“expensiveVariable”,当第一次访问“expensiveVariable”时,会触发延迟初始化并输出“Initializing expensive variable...”,然后输出变量的值10。当我们再次访问“expensiveVariable”时,不会触发延迟初始化,只输出变量的值10。这就是使用“by lazy”进行延迟初始化的效果。