如何实现一个iOS AOP框架 (如何实现一个鼠标控制两个显示屏)

如何实现一个iOS AOP框架 (如何实现一个鼠标控制两个显示屏)

工作中大部分用 OC 和 Ruby、Shell 之类的东西,前段时间一直想找一款合适的 iOS 下能用的 AOP 框架。iOS 业内比较被熟知的应该就是 Aspect 了。但是 Aspect 性能比较差,Aspect 的 trampoline 函数借助了 OC 语言的消息转发流程,函数调用使用了 NSInvocation,我们知道,这两样都是性能大户。有一份测试数据,基本上 NSInvocation 的调用效率是普通消息发送效率的 100 倍左右。事实上,Aspect 只能适用于每秒中调用次数不超过 1000 次的场景。当然还有一些其他的库,虽然性能有所提升,但不支持多线程场景,一旦加锁,性能又有明显的损耗。

声明:本文来自用户分享和网络收集,仅供学习与参考,测试请备份。