消息发送(Messaging)是 Runtime 通过 selector 快速查找 IMP 的过程,有了函数指针就可以执行对应的方法实现;
消息转发(Message Forwarding)是在查找 IMP 失败后执行一系列转发流程的慢速通道,如果不作转发处理,则会打日志和抛出异常
消息发送(Messaging)是 Runtime 通过 selector 快速查找 IMP 的过程,有了函数指针就可以执行对应的方法实现;
消息转发(Message Forwarding)是在查找 IMP 失败后执行一系列转发流程的慢速通道,如果不作转发处理,则会打日志和抛出异常
大体上原理,就是通过创建不同优先级的context(5个),context中创建有限数量的queue(CPU核数)。
在使用的时候,通过优先级获取不同的context,然后轮着返回不同的queue让你换着用,你就可以一定程度上实现并行队列,并且控制线程数量。
艾德的父亲给所有逍遥法外的罪犯起了一个统一的代称-罗罗·汤马西.——–<洛城机密>
这篇博客总结一些,iOS开发中遇到的,比较特殊的问题,或者暂时想不到解决办法的问题。有些问题是个人能力不足,暂时没找到解决方案,有些可能就是苹果系统本身的问题。
1 | 1、init初始化不会触发layoutSubviews |
注意
为什么已经有了 ARC ,但还是需要 @autoreleasePool 的存在?
避免内存峰值,及时释放不需要的内存空间
以前喜欢在写代码的时候,注重每个细节的性能,后来发现这样效率很低,常常在细枝末节上浪费过多时间,印证了那句过早的优化是万恶之源,所以现在更倾向于用性能检测手段检查出问题所在,有目的的优化。