接收内存警告时,UICollectionView维护的单元队列会发生什么?

时间:2017-04-11 11:03:01

标签: ios cocoa-touch uicollectionview uikit uicollectionviewcell

当UICollectionViewCell对象不可见时,它们将被添加到队列中以供重用。如果发生内存警告,则可重用队列中的单元格会发生什么。队列是否已清除,单元格是否被破坏或是否保留原样?

2 个答案:

答案 0 :(得分:0)

如果你有些人如何保持对你的细胞的强烈参考,那么它们将不会被移除,你将拥有这些细胞的音调。你也必须记住你的单元格是否没有正确出列,并且你对单元格有强烈的引用,那么你的tableViewController也不会重新初始化。

答案 1 :(得分:0)

在接收到内存警告时,将从内存中清除不可见的单元格对象,同时出列管理器在内部处理此过程。

了解更多内存管理的工作原理?在模拟器中运行您的代码。

打印提供由其获取的地址的单元格对象。稍后在菜单中选择硬件选项以生成内存警告。

"row = 7 ->  cell = <UICollectionViewCell: 0x7ff8b89096e0; frame = (2 1935; 371 265); clipsToBounds = YES; hidden = YES; opaque = NO; layer = <CALayer: 0x61800003da20>>"

这将有助于您了解有关地址管理的更多信息。