【问题标题】:How to optimise memory in swift while creating new storyboard?创建新故事板时如何快速优化内存?
【发布时间】:2020-05-22 05:52:38
【问题描述】:

我在我的应用程序中使用本地化。每当用户在应用程序中更改语言时,我都会设置所选语言并创建新的故事板并使其成为根视图控制器。一切正常。但我面临的问题是,每当我创建新故事板并使其 rootviewcontroller 内存使用量不断增加时,例如在启动应用程序使用 117 MB 时,我更改了语言并将新故事设置为 160-170 MB,我再次将其更改为 220-230 MB 的语言。那么如何销毁以前的情节提要并创建新的情节提要。

func makeRootViewController(controller_Identifier: String, storyboard: String?) {
    let navController = UINavigationController()
    navController.setNavigationBarHidden(true, animated: false)
    let storyboard = UIStoryboard(name: storyboard ?? "Main", bundle: Bundle.main)
    let vc = storyboard.instantiateViewController(withIdentifier: controller_Identifier)
    navController.viewControllers = [vc]
    UIApplication.shared.keyWindow?.rootViewController?.removeFromParent()
    UIApplication.shared.keyWindow?.rootViewController = nil
    UIApplication.shared.keyWindow?.rootViewController = navController
}

【问题讨论】:

    标签: ios swift storyboard uistoryboard


    【解决方案1】:

    我建议您应该使用代码本地化,而不是故事板。有很多方法可以做到这一点。最简单的

    我参考:

    【讨论】:

    • 我已经完成了这个国际化的事情,之前它工作得很好,经过几次更新它就停止工作了,因为我改变了翻译方式。现在在更改语言时,我想销毁以前的故事板并创建新的故事板。有没有办法做到这一点。清除现有故事板分配的所有内存。
    • 不,我的意思是,通过这种方式,您不需要创建新的情节提要或删除情节提要。您只需要通知查看他们即可更改文本。
    猜你喜欢
    • 2017-05-02
    • 2019-05-10
    • 2015-10-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-04-08
    • 2014-05-20
    相关资源
    最近更新 更多