iOS6 CALayer释放/卸载滚动视图中滚动不可见的视图

Posted

技术标签:

【中文标题】iOS6 CALayer释放/卸载滚动视图中滚动不可见的视图【英文标题】:iOS6 CALayer freeing/unloading for views in a scrollview that are scrolled non-visible 【发布时间】:2012-12-17 00:04:53 【问题描述】:

我知道在 ios6 下,UIView 的 CALayer 会在内存不足的情况下自动卸载和释放,而不是视图本身被卸载。我喜欢这个新功能,它更容易处理。

但是,我想澄清一个极端情况:如果我有一个带有很多子视图的 UIScrollView,在内存不足的情况下,滚动到可见区域之外的视图是否有资格卸载图层?

【问题讨论】:

【参考方案1】:

我想是的,是的。

实际清理的是 CALayer 的位图。看看这个blog。

【讨论】:

投票赞成你链接到那个很棒的博客条目是正确的!

以上是关于iOS6 CALayer释放/卸载滚动视图中滚动不可见的视图的主要内容,如果未能解决你的问题,请参考以下文章

滚动视图在 iOS 7 中运行良好,但在 iOS6 中出现问题

UICollectionview 使用 CALayer 和 CATextlayer 滚动效果不佳

当我在 xcode 5(ios 6.1 模拟器)中使用 removeFromSuperview 时,滚动视图不可见

CALayer 中的性能滚动和视网膜分辨率图像

修复 UIScrollView 顶部和底部的 CALayer

切换到 iOS 7 后 UITableView 不滚动