CPU占比优化小记

image.png

场景:
高频300ms,数组分割,条件过滤,二维数组对象属性自定义排序,条件限制(相同累加,不足再次补位),刷新cell
要点:
1、切记注册 cell
2、行高用属性
3、cell尽可能手码 frame
4、autoreleasepool运用
5、block回调优于通知
6、removeObjectAtIndex:优于removeObject:
7、无法避免for循环,就尽可能在for里少调用方法、判断等
8、加入数组前先过滤元素,而不是全部加入后再循环过滤
9、直接判断BOOL值,别再判断与YES/NO的相等
10、不要滥用hook,防止数组越界、字典加空虽防止了崩溃却也没调试问题未知性带来了麻烦,只在生产上加更好一些。高频调用时,会卡CPU,剔除hook后,其他多界面会崩溃,治理麻烦。
11、如当前页面未显示、app处后台等不需要更一步调用方法的场景应提前return
12、如果可以,NSMutableSet替换NSMutableArray,并限制Capacity
13、字典去重addEntriesFromDictionary:,前者里和后者里同名的key的值会被后者的值替代,相比调用被hook后导致for里的objectAtIndex:所损失的性能更优一些
14、sortUsingComparator:优于双重for i j 冒泡排序

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

友情链接更多精彩内容