效率低下的UICollectionView ......如何优化?

use*_*739 1 objective-c uicollectionview ios7

我正在实施一个UICollectionView.

在这个collectionView:cellForItemAtIndexPath:方法中,我分配了一个带有少量出口和一些自定义按钮,标签,textview的类(因此为每个自定义按钮和标签调用drawRect).

每当每个单元格出现在屏幕上时,都会调用alloc init ...导致滚动不稳定.

我的问题是,是否有更有效的实施.我明白这dequeueReusableCellWithReuseIdentifier: forIndexPath:就是原因(我认为)并且我理解它的重点但是有可能比我现在更优化一点吗?

谢谢你的帮助!

smy*_*rgl 6

三件事:

  1. 确保单元格不透明(及其所有子视图).根据我的经验,这是UICollectionViews中滚动延迟的首要原因.摆脱任何透明胶片是最可能的罪魁祸首.
  2. 如果失败,请转到模拟器中的"调试"菜单,然后选择"颜色混合层".这将突出显示隐藏在Alpha通道中并重新绘制的红色图层.
  3. 如果失败,请尝试使用仪器中的核心动画工具,并查看帧速率在哪里斩波.使用时间分析器并找到您的热点.

我很确定#1和#2会给你你需要的东西,这是一个非常常见的错误.