----
1、Lambda 表达式弊端
Lambda 表达式弊端 :
Lambda 表达式 的 灵活使用 , 是以 牺牲内存开销为代价的 ;
在 Java 虚拟机中 , Lambda 表达式 是以 实例对象...的形式 , 存储在堆内存中的 , 这就产生了内存开销 ;
2、" 内联 " 机制避免内存开销
" 内联 " 机制避免内存开销 :
在 Kotlin 语言中提供了一种 " 内联 " 机制 ,
解决了上面的...Lambda 表达式的 内存开销 问题 ,
将 使用 Lambda 表达式 作为参数的函数 定义为 inline 内联函数 ,
Java 虚拟机就 不会再为 lambda 表达式 在堆内存中 创建 实例对象...了 ,
这样就 避免了 Lambda 表达式 的内存开销 ;
3、内联函数本质 - 编译时宏替换
内联函数使用 :
在使用 Lambda 表达式的时候 ,
Kotlin 编译器直接将 inline 内联函数...的 函数体 直接拷贝到 使用位置 ;
内联函数 类似于 C 语言中的 预编译指令 宏定义 , 在编译时直接替换拷贝宏定义内容 ;
Kotlin 中的 内联函数 也是一种 编译时 进行 宏替换的操作 ;