场景:
高频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
冒泡排序
网友评论