由于项目的需要,最近在用drawRect绘图时出现部分低配机型绘图卡死问题,经过一系列追踪发现是CPU占用过高导致,其一度达到100%以上...
直接上图,图一是刚开始一段时间的cpu占用;图二是触发某个操作的cpu占用
那么问题来了?怎么知道是怎么回事呢?这里不得不说Xcode的一大调试利器了:Instruments 可以点击图2右上方的Profile Instruments进入内存监控调试界面,也可以Xcode -> Product -> Profile->Time Profile或者 cmd + I进入
进入之后,点击坐上方的红色按钮开始运行,接着我们便能实时看到cpu的占用情况了.并且,我们可以根据下方的调用树逐级查找出大概最消耗内存的罪魁祸首!
这下,我们已经找到cpu占用的罪魁祸首了.接着便是查看相关功能的代码,优化代码.如果这部分代码优化之后,cpu占用依然居高不下.要么,这个问题你还没有解决,要么还有其他影响cpu占用的地方.如果是后者,可以继续上面的操作,在此找出占用cpu的罪魁祸首进行分析...
宝宝也只能帮你到这了,我也只是一个小开发.学习的路上不断掉坑,填坑,摔不死的小强就是我啦....