随笔分类 - Kotlin
Kotlin
摘要:一、操作符 1. Filter 2. Map 3. FlatMap 二. 原理 1. 懒汉式: list.asSequence().filter { }.map { }.forEach { } 逐一遍历列表,将符合filter条件数据,传递到map中,再传递给forEach。再继续遍历,找到符合条件
阅读全文
摘要:一、by Lazy 延迟初始化是线程安全吗? Lazy是线程安全的,系统默认给Lazy属性添加了同步锁。也就是LazyThreadSafetyMode.SYNCHRONIZED,使之在同一时刻只能有一个线程对Lazy属性初始化操作。 /** * Specifies how a [Lazy] inst
阅读全文
摘要:一、协程是什么? 协程是程序自己控制挂起和恢复的程序。 协程可以实现多任务协作执行。 二、协程作用? 协程可以让异步代码同步化。 协程可以降低异步程序的设计复杂度。 三、协程分类 按调用栈分类: 有栈协程:每个协程都会分配一个单独调用栈,类似于线程的调用栈。 无栈协程:协程不会分配一个单独调用栈,挂
阅读全文
摘要:Android 事件分发原理 1. 事件传递机制 1. 在Android中事件一次完整的事件传递分为三个阶段: 事件分发; 事件拦截; 事件消费; 2. Android中触摸事件类型: Android中触摸事件类对应MotionEvent类,主要事件有三种:ACTION_DOWN、ACTION_MO
阅读全文
摘要:代理关键字 by 属性代理:对象X代替属性a实现getter、setter方法。 接口代理:对象X代替类B实现接口C的方法。 举例 属性代理 在UI初始中使用过,代码如下: 1 class MainActivity : AppCompatActivity() { 2 3 private val mT
阅读全文
摘要:类属性延迟初始化 在Android中声明UI类型变量,由于Kotlin的类型安全机制必须进行初始化,比如: Java: 1 public class TestActivity extends AppCompatActivity { 2 3 private TextView mTvNmae; 4 5
阅读全文