0%

ProcessState

ProcessState 是一个系统 Service 进程的单例,一个进程只有一个 ProcessState 实例。 zygote 在fork出应用进程之后会在c层完成初始化启动 binder

阅读全文 »

native层概述

InputReader

输入事件的读取者。 运行在单独的 InputReaderThread 线程中,死循环,通过 EventHub.getEvents 来获取输入事件。

阅读全文 »

基础的流

demo

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
import kotlinx.coroutines.*
import kotlinx.coroutines.flow.*


fun simple(): Flow<Int> = flow { // 流构建器
for (i in 1..3) {
delay(100) // 假装我们在这里做了一些有用的事情
emit(i) // 发送下一个值
}
}

fun main() = runBlocking<Unit> {
// 启动并发的协程以验证主线程并未阻塞
launch {
for (k in 1..3) {
println("I'm not blocked $k")
delay(100)
}
}
// 收集这个流
simple().collect { value -> println(value) }
}
阅读全文 »

开头

nested2是安卓用于处理嵌套滚动的方案。 主要有两个重要的接口, NestedScrollingParent2 和 NestedScrollingChild2 ,分别代表桥套滚动的外层和内层。

阅读全文 »

注意事项

  1. 在macOS上,默认文件系统是不区分大小写的,需要先建立一个区分大小写的磁盘
阅读全文 »

Redux是一个Flutter状态管理工具。实现并不复杂,其核心是一个简单的观察者模式。我们从 观察者 和 被观察者 两个角度来分析 Redux

阅读全文 »