【问题标题】:Swift : Does hiding an animating view still affect memory/performance?Swift:隐藏动画视图是否仍会影响内存/性能?
【发布时间】:2019-03-22 07:04:25
【问题描述】:

在我的项目中,我有一个小技巧来创建加载视图:

  • 创建 UIView 并设置其约束 (theLoadingView)
  • 在加载视图中放置一个UIActivityIndi​​catorView
  • 使此活动指示器始终处于动画状态(将标志设置为 true)
  • 在任何操作之前显示加载视图
  • 操作完成后隐藏LoadingView

这很棒,但我想知道这会影响内存/性能吗?

即使在隐藏 theLoadingView 时,活动指示器的原因也始终是动画!我应该在隐藏 theLoadingView 之前停止活动指示器动画吗?

这是屏幕截图:

欢迎所有意见。提前致谢。

【问题讨论】:

  • 简短答案 -> 是的,它会影响性能 长答案 -> 取决于您的应用程序的功能,性能影响可能无关紧要。您的方法有效,但这不是一个很好的解决方案。为UIViewController 创建一个扩展,并添加一个启动活动指示器的函数和一个停止它的函数。这样,活动指示器将在每个 ViewController 中可用
  • 我需要显示我的自定义视图而不仅仅是一个活动指示器!

标签: ios swift performance memory


【解决方案1】:

如果您只是将 loadingView isHidden 属性设置为 true ,则这只会将 loadingView 隐藏在超级视图中,并且 loadingView 在后台分配内存,直到您将其从超级视图中删除!

我建议你:

  • 给 loadingView 一个标签;更喜欢 2018 年:D
  • 在超级视图中找到标签为 2018 的 loadingView
  • 从超级视图中移除 loadingView

    let loadingView = self.view.viewWithTag(2018)
    loadingView.removeFromSuperview()
    

【讨论】:

  • 我不想删除它!因为我将它用于视图控制器中的任何操作。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2011-07-13
  • 1970-01-01
  • 2015-09-24
  • 2018-03-01
  • 1970-01-01
  • 1970-01-01
  • 2022-10-12
相关资源
最近更新 更多