CPU占比优化小记

2020-07-04  本文已影响0人  十一岁的加重
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 冒泡排序
上一篇 下一篇

猜你喜欢

热点阅读