我正在使用界面生成器在Xcode中构建一个应用程序。一个VC有一些我在屏幕外放置的对象(例如-600导致领先的边距)。按下按钮时,它们会动画显示在视图中。
我的问题是,离开屏幕观看会有什么影响?它会占用内存吗?将这些视图动画化后,是否应该隐藏这些视图?
任何已分配和初始化的视图都将占用内存,无论是否在屏幕外。这在Obj-c中更为明显,因为在您调用它时,[UIView alloc] init]
它在swift中仍然是相同的UIView(frame: )
。
在将视图添加为子视图之前,该视图不会绘制其图层。如果默认情况下,该视图仍处于父级可见rect之外,则该视图仍将自行绘制。您可以将父视图设置为clipsToBounds = YES
(swift clipsToBounds = true
),它不会在屏幕上绘制其任何子视图,从而节省了一些内存,因为子视图不会绘制其图层。尽管您只是暂时将它们从屏幕上移开,然后再进行动画处理,所以不确定这样做是否值得付出努力。
如果可以的话,您应该在屏幕上设置动画之前立即实例化视图,应该将'removeFromSuperview'设置为nil,或将其从数组中删除,但是一旦完成动画,就将它们存储起来。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句