CADisplayLink 前世今生
摘要
iOS 10新增了内存泄漏检测方法,但会出现循环引用问题。解决方法是引入一个中间target,并让其对控制器B是弱引用。另外,子线程的运行循环需要手动开启,并使用不同的mode处理不同的输入源,包括定时器源和输入源。
RunLoop包含若干个Mode,每个Mode又包含若干个Source/Timer/Observer,每次调用RunLoop的主函数时,只能指定一个Mode运行。RunLoop中的事件产生地点是Source,有两个版本,source0和source1,需要手动调用CFRunLoopSourceSignal标记待处理事件。
欢迎在评论区写下你对这篇文章的看法。


