ios - 如何高效的准确的获取一个工程所有控制器的 viewdidload 方法的执行时间?
ringa_lee
ringa_lee 2017-04-18 09:55:22
0
1
547

先说说现在的做法,首先在启动时获取 objc_getClassList 获取项目中所有的类,然后看这个类是否有 viewdidload 方法,如果就 swizzle method,然后在替换的方法中间调原方法,前后记下时间,然后就可以获取方法的执行时间,这种做法有一个问题。如果项目中有很多控制器,在启动时就有大量的控制器需要交换方法,就会导致在早期的机型(5s)CPU 使用率过高,主线程卡顿的问题,而且多次启动后手机发热严重。我测了下方法的执行,发现瓶颈是在 method_exchangeImplementations(originalMethod, newMethod);这句又是系统的方法,想了一周,都没有想到好的办法。有没有别的办法的朋友?

ringa_lee
ringa_lee

ringa_lee

reply all(1)
刘奇

AspectsTry it on github

Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template