如何在创建新故事板时在 swift 中优化内存?



我正在我的应用程序中使用本地化。 每当用户在应用程序中更改语言时,我都会设置所选语言并创建新的情节提要并使其成为根视图控制器。 一切都很好。 但我面临的问题是,每当我创建新的故事板并使其成为 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
}

我建议您通过代码而不是在情节提要中使用本地化。有很多方法可以做到这一点。对于最简单的

我指的是:

  • https://www.hackingwithswift.com/example-code/uikit/how-to-localize-your-ios-app
  • https://github.com/marmelroy/Localize-Swift

最新更新