gpt4 book ai didi

ios - 如何解决泄漏?

转载 作者:可可西里 更新时间:2023-11-01 02:03:01 24 4
gpt4 key购买 nike

所以我的游戏中存在内存泄漏。我认为它来自 Admob 和游戏中心集成。有什么解决这个问题的建议吗?我尝试使用泄漏仪器定位问题,但我不知道该怎么做。还值得解决泄漏问题吗?我每次大约有 7 次泄漏。

//Ad banner

self.banner = GADBannerView(adSize: kGADAdSizeSmartBannerPortrait)
self.banner.adUnitID = "ca-app-pub-3940256099942544/6300978111"
self.banner.rootViewController = self
let request: GADRequest = GADRequest()
self.banner.load(request)
self.banner.frame = CGRect(x: 0,y: view.bounds.height - self.banner.frame.size.height, width: self.banner.frame.size.width, height: self.banner.frame.size.height)

self.view.addSubview(self.banner!)


//gamecenter authentication


func authPlayer () {
let player = GKLocalPlayer.localPlayer()
player.authenticateHandler = {
(view, error) in
if view != nil {
self.present(view!, animated: true,completion: nil)

}
}
}

enter image description here

最佳答案

deinit 添加到您的类中,并使用打印消息来确定哪些类在应该死亡时没有死亡。然后,您转到这些类被实例化的地方,并使它们成为具有可选类型的 weakunowned 变量。

如果这不能解决问题,那么您可能会遇到闭包问题,但我担心只有在您了解 ARC 的基础知识之后才能学习闭包捕获泄漏。

这是一个很棒的教程,它展示了 ARC 的工作原理以及如何更详细地追踪泄漏:

https://www.raywenderlich.com/134411/arc-memory-management-swift

对于您的第二个问题,不,内存泄漏可能不是您的大问题。然而,它们也可能是一个巨大的问题。找出答案的方法是让您的应用开启一整天,或者花半小时浏览不同的级别,看看您的内存使用量是否持续上升。

如果您的内存使用量不断增加,那么您肯定有问题需要解决。否则,您的应用只是使用了比需要更多的资源,这并不理想,但也不一定是解决问题的关键。

关于ios - 如何解决泄漏?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44992770/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com