gpt4 book ai didi

ios - watch 套件 App : Terminated due to memory error

转载 作者:搜寻专家 更新时间:2023-10-31 08:07:06 25 4
gpt4 key购买 nike

您好,我正在开发一个应用程序,我需要在其中缓存 50 张图像(所有图像的大小为 2.5 MB),它正在缓存图像,但由于应用程序崩溃,Apple Watch 应用程序的内存也增加了 10 MB。

Xcode 在 xCode 中给出错误“来自调试器的消息:由于内存错误而终止”

我使用的代码如下:

 for (var i : Int  = 1; i<26; i++) {

let filenameHuman = NSString(format: "human_%d", i )
let filenameZombie = NSString(format: "zombie_%d", i )

var imageHuman : UIImage! = UIImage(named: filenameHuman as String)
var imageZombie : UIImage! = UIImage(named: filenameZombie as String)

WKInterfaceDevice.currentDevice().addCachedImage(imageZombie, name: filenameZombie as String)

WKInterfaceDevice.currentDevice().addCachedImage(imageHuman, name: filenameHuman as String)

}

NSLog("Currently cached images: %@",WKInterfaceDevice.currentDevice().cachedImages)

还有内存分配和内存泄漏的截图是:

enter image description here

请帮助,提前致谢。

最佳答案

  • 您的图片是否真的是动画(会占用更多空间)?
  • 收集每次调用 addCachedImage() 的返回值。 False 表示无法添加 - 您需要检查它,它可能会提供有关特定问题图片的线索。
  • 在调用任何东西之前,尝试清空缓存,removeAllCachedImages。这意味着您将清除之前用完内存池的缓存交互。

我认为你的问题不是泄漏,我认为你的问题是过度保留分配。因此,使用分配工具(具有保留计数跟踪)查看分配了多少内存(VM 分配)以及有多少实体持有此类内存(保留计数)。

关于ios - watch 套件 App : Terminated due to memory error,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30324599/

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