【问题标题】:Switching tab in UITabbar is so slow在 UITabbar 中切换标签太慢了
【发布时间】:2021-09-07 20:55:49
【问题描述】:

当我第一次切换 1 > 2 时,我在 UITabbar 中有 5 个选项卡,这很慢,因为在 2 中有非常复杂的视图和 viewDidLoad() 上的设置。

我怎样才能让它更快或更好?我可以在打开 1 时预加载 2 吗?或者我可以在加载视图时显示加载指示器吗?

【问题讨论】:

    标签: ios swift uitabbarcontroller viewcontroller uitabbar


    【解决方案1】:

    关于你的问题的上下文太少了。我唯一可以推荐你的是在 XCode 中使用“时间分析器”工具来研究问题

    (对于 XCode 12.5) 按 XCode -> 打开开发者工具 -> 仪器

    那么。按“时间分析器”

    对于带有此类代码的 ViewController

    import UIKit
    
    class DelayViewController: UIViewController {
        
        var i = 0
        
        override func viewDidLoad() {
            while i < 100000000 {
                print("i is \(i)")
                i += 1
            }
        }
    }
    

    我们可以在“时间分析器”中看到打印方法需要多少时间

    【讨论】:

      【解决方案2】:

      您可能有太多任务在主队列上运行。您应该只更新主队列上的 UI。您是否在方法 DispatchQueue.main.async { } 中从数据库中获取某些内容、下载图片等?如果是,请尝试从其他队列上的数据库中获取这些内容(例如DispatchQueue.global)。您也可以使用UIActivityIndicator 直到您的设置完成,然后在主队列上更新它。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-09-19
        • 2011-01-08
        • 1970-01-01
        • 1970-01-01
        • 2017-03-11
        相关资源
        最近更新 更多