何时释放为UICollectionViewCell栅格化分配的内存?

时间:2016-12-13 18:42:11

标签: ios swift uicollectionview uicollectionviewcell tvos

所以,在我的应用程序中,我有一堆使用UICollectionView作为主要结构的视图控制器。这些包含由图像和一些叠加文本组成的单元格,并且在导航应用程序的整个过程中可能会创建大量的这些单元格(很好地创建了数百个,可能还有1000多个。它是一个巨大的目录内容)。我找到了启用光栅化的功能:

cell.layer.shouldRasterize = true
cell.layer.rasterizationScale = UIScreen.mainScreen().scale

彻底可以提高性能,使帧率从~31fps变为~58fps,但正如预期的那样,应用程序的内存会稳步增加。

所以我的问题是什么时候删除了这些缓存的栅格化图像?是仅在应用程序停止时?或者包含它们的观点是否已被删除?如果它是前者,有没有办法手动强制删除它们?

1 个答案:

答案 0 :(得分:2)

enter image description here如果未使用100毫秒,则会删除缓存的图层。

以下是WWDC 2014的重要说明

  • 图像在GPU上合成
  • 缓存大小限制为屏幕尺寸的2.5倍

http://devstreaming.apple.com/videos/wwdc/2014/419xxli6f60a6bs/419/419_advanced_graphics_and_animation_performance.pdf