线程(Thread)
iOS中线程
Pthread、NSThread、GCD、NSOperation
synchronized(互斥+递归)、NSLock(互斥),automito、NSCondition(互斥锁+条件变量。可以给线程加锁)、
NSConditionLock(生产者消费者模型)、NSRecursiveLock(递归锁)、dispatch_semaphore(信号量
Android中线程
Thread、Runnable Handler、AsyncTask、ThreadPool
Flutter中线程
Dart 中并没有线程,只有 Isolate(隔离区)。Isolates 之间不会共享内存,就像几个运行在不同进程中的 worker, 通过事件循环(Event Looper)在事件队列(Event Queue)上传递消息通信。
内存管理
iOS
Android
一般不用考虑,java的虚拟机存在垃圾回收机制。(java的可达算法)
Flutter
与java比较相似,垃圾收集器是分代的(新生代、老年代)凹凸指针,状态调换
事件循环
RunLoop
Looper
ioslate
核心
iOS-runtime
OpenGL
设计模式
代理、单例、观察者、工厂
MVC、MVP、MVVM
设计原则
组件化
网络
三次握手四次挥手、https、ssl、tcp、udp、dns、coolie、session
数据结构
哈希、字典、数组、链表、
Timer延迟
openGL
iOS
AutoLayout线性方程解析引擎
Android
Flutter
动画(Animate)、构建(Build)、布局(Layout)和绘制(Paint),最终生成一个场景(Scene)之后送往底层
设计策略
LRU缓存策略、hashmap扩容、反射、hash碰撞、多叉树、编译过程、常见崩溃、