@
kera0a 其实我觉得你说的没错。
事实上 runtime 的源代码, libdispatch 的源代码我都看过, runloop 的源代码也看过一些。你让我去写这些,我现在是写不出来,但看过,了解了原理我感觉至少我做到了,啥 isa 指针寻找方法, category 加载流程, sideTable 的内存管理, async 底层 pthread 线程池, runloop 监控卡顿啥都懂一些。
UI 优化确实不和 ASDK 等价,但 ASDK 的中心思想基本可以概括 UI 优化思路,就是异步。至于细分讲,离屏渲染,图层混合,多图层累加,自线程 CoreGraphic 加载, CALayer contents 设置,FDTableViewCell 的缓存高度和 cell , estimateCell 我都可以说一些。
其实说这些不是深度的原因是:
runtime , runloop 和 gcd 现在面试天天问,但都问的不会很深。就算我看的稍微深了一些,但讲出来也没啥亮点和优势。
感觉如果和面试官去聊你看过 opengl 源代码,或者 sqlite 源代码,或者聊聊 WebView 的源代码,大概才能算有些脱颖而出,才算在面试里有些深度。我这边深度这个词可能用的不是很恰当了。
其实我自己想了想,主要我着么感觉的原因还是我自己太菜了,对 runtime , runloop , gcd 的理解不够,整个没梳理起来,虽然看过源代码,理解过,但没看清楚看明白,不能信手拈来。
可能说话不恰当的主要原因还是我对 iOS 的前景表示悲观了,而且实际在 iOS 的项目开发中,你大部分情况下只能去写 UI ,除非你正好在架构组或者 sdk 组。而写 UI 真的是无聊到极点的事情了,但你又躲不开写 UI 这件事情。而后端的可深入行和学习面会比前端多的多,所以目前对 java server 感兴趣,想找机会转(虽然没机会)。
其实就像你说的,我也感觉现在有些浮躁了。如果有冒犯,抱歉了。