gpt4 book ai didi

iphone - didReceiveMemoryWarning 建议(后台多任务应用程序太多)?

转载 作者:行者123 更新时间:2023-12-03 20:00:59 25 4
gpt4 key购买 nike

请帮忙,我不知道我与 didReceiveMemoryWarning 到底有什么关系。我的应用程序启动良好,但是当运行的后台应用程序太多时,它会收到内存警告并退出。 我只想显示一个提醒,要求用户退出某些后台应用程序。

我有一个appDelegate,在它的窗口中有一个我的viewController的 View ,它有另一个分配(复合)的 View ,带有两个 subview (OpenGL View 上的XIB),并且这被设置为viewController中的cameraOverlayView .

我试图在警告时一次性释放所有内容,但仍然退出。我是否必须在每个 subview 中实现 didReceiveMemoryWarning ?我可以以某种方式“强制退出”初始化过程吗?

最佳答案

如果您的应用在事件时被终止,则可能存在内存泄漏,导致您的应用消耗大量内存。

当操作系统开始内存不足时,它将首先终止后台任务,从内存最密集的应用程序开始,然后最终终止最前面的应用程序。用户永远不需要手动终止后台应用程序以节省内存。这一切都是自动完成的。

如果您的应用程序在后台运行,那么它可以随时终止。您能做的最好的事情就是减少总体内存使用量,并希望操作系统在您之前杀死其他一些内存密集型应用程序。

didReceiveMemoryWarning 通常是您释放必须尝试减少应用占用空间的所有缓存数据的地方。应用中 View 当前不可见的所有 View Controller 都将被卸载,并且 viewDidUnload 方法将被调用。您应该在此处将任何 IBOutlet 属性设置为 nil。

但是,如果您的应用在事件期间被终止,您应该使用 Instruments 中的泄漏工具来确保没有任何泄漏,并且不会消耗异常大量的内存。

关于iphone - didReceiveMemoryWarning 建议(后台多任务应用程序太多)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3369647/

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