UIView:alpha:0,隐藏:YES,removeViewFromSuperview和frame.origin.y = -100000之间的性能/内存差异;

hfo*_*sli 4 objective-c uiview ios

暂时隐藏视图时(例如直到加载完成后)设备的最佳效果是什么?

  • 将alpha设置为0?
  • 将隐藏设置为YES?
  • 从superview中删除视图?
  • 将视图移动到无法在窗口/屏幕上显示的位置(例如frame.origin.y = -10000)?

哪个在内存方面最好,哪个在性能方面最好?我知道Apple在某处写了一些关于此的内容,但我找不到它.

Fra*_*scu 7

哪个在内存方面最好

removeFromSuperview在记忆方面是最好的.为什么?因为它会导致视图被释放.因此,如果视图不被其他任何人保留(如强大的ivar),它将被取消分配.

在性能方面哪个最好?

setHidden:在性能方面是最好的.为什么?因为动作只是设置一个标志.然后在drawRect中它只是一个BOOL检查.所以它真的很快,因为没有涉及其他行动.