我正在实施UICollectionView
。
在collectionView:cellForItemAtIndexPath:
方法中,我正在分配一个带有少量插座和一些自定义按钮,标签,文本视图的类(因此,为每个自定义按钮和标签调用drawRect)。 / p>
每当每个单元格出现在屏幕上时,都会调用alloc init ...导致滚动不稳定。
我的问题是是否有更有效的实施。我理解dequeueReusableCellWithReuseIdentifier: forIndexPath:
是导致这种情况的原因(我认为),我理解它的重点,但是我可以比现在更优化一点吗?
感谢您的帮助!
答案 0 :(得分:6)
三件事:
我很确定#1和#2会给你你需要的东西,但这是一个非常常见的错误。
答案 1 :(得分:1)
我必须补充说,另一个罪魁祸首是UITextView
。我有UITextView
s链接检测,并且由于iOS 7中的错误,我每次都必须nil
文本属性...似乎这会导致大量CPU占用,导致丢帧
我的情况(最多20 UITextViews
)的简单修复是在计算单元格的高度时缓存它们。我正在考虑缓存textStorage
,但现在这样做。