UIView的性能:removeFromSuperview VS隐藏(Performance of

2019-06-26 01:08发布

这个问题是很基本的。 是什么去除之间的性能差异UIView从视图层次结构和隐藏UIView

我已阅读,不需要的意见应该从视图层次结构中移除。 我现在有这种情况,一个UIButton应时而可见。 我什么时候隐藏UIButton ,当我删除它从它的上海华?

它是昂贵的更改视图层次?

Answer 1:

如果你需要显示或隐藏子视图之间交替,最好的办法肯定是隐藏它。 对于一个UIButton内存影响是不是很大呢。 和代码肯定是简单的,如果你只是切换hidden属性。

此外,你得到的另一个优点是hidden属性是动画!



Answer 2:

我已经做了iOS6的iPad的迷你的实验中,有很多内容丰富的大型滚动视图(包括图像,阴影,渐变层,有图案的背景图片,你知道,那些设计师:)),我发现这种观点.hidden = YES≠[视图removeFromSuperview]。

我原本以为设置隐藏Yes,将视图不是渲染/绘制的,所以有很多的隐藏的意见将会对效率没有影响。 但实际的结果是:1)如果我设置在大滚动查看屏幕外的意见,以隐藏(取消隐藏他们,当他们回来为可见光区域),滚动不顺畅/连续的。 当它的自然减速,它看起来很紧张。 2)如果删除从滚动视图离屏视图(但仍保持在存储器中与跟踪阵列,所以当他们回来在它们可以被立即添加),滚动是明显光滑。



文章来源: Performance of UIView: removeFromSuperview VS hide