UICollectionView过于频繁地重用单元格

时间:2014-12-12 10:16:56

标签: ios objective-c uitableview uicollectionview

我知道如何重复使用细胞,我知道如何不重复使用细胞,但这不是我所要求的。

我需要的是仍在重复使用某些细胞但却不那么频繁。

让我们说我在屏幕上显示10个单元格(每个单元格中都有动画GIF文件,因此设置单元格正在消耗),UICollectionView现在正在做什么为每个正在呈现的单元分配10块内存,并在新单元到来时重新使用内存。这使得重用过于频繁,因此它一直在设置单元格并使UICollectionView的滚动有点慢。

以下是我使用的代码:

- (UICollectionViewCell *)collectionView:(UICollectionView *)collectionView cellForItemAtIndexPath:(NSIndexPath *)indexPath
{
    ItemView *cell = [collectionView dequeueReusableCellWithReuseIdentifier:ITEM_VIEW_REUSE_ID forIndexPath:indexPath];

    ItemData *itemData = [[_items objectAtIndex:indexPath.section] objectAtIndex:indexPath.row];
    [cell setItemData:itemData];

    return cell;
}

我在想,有没有办法可以修改内部重用系统。就像为每个呈现的单元格分配30块内存和一些甚至不呈现的单元格一样,所以它不是一直设置单元格,我相信这会加速我的应用程序的性能。

0 个答案:

没有答案