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