首页 > 解决方案 > 修复 iOS 应用程序中的内存管理问题

问题描述

我知道有很多关于这个主题的问题,但在宣布它重复之前阅读我的问题,谢谢。

我是一名iOS具有中级经验的开发人员,但幸运或不幸的是,我从未遇到过像我现在面临的任何内存泄漏问题。我给了一个不是我写的应用程序,它集成了谷歌地图,它有很多问题,包括内存泄漏,应用程序使用委托模式,我用这样的代码修复了委托类

@objc protocol myDelegate { 
    // delegate stuff
}
class myClass: UICollectionView {
    weak var delegate: myDelegate? = .none
}

我读了很多关于内存图调试的文章,所以我用它来查找我的漏洞。现在,分享我使用内存图调试器收集的一些日期, 这是我发现内存泄漏指示的图像,但奇怪的是没有关于我们写入的文件的单一指示,但所有指示都显示来自核心或我们正在使用的库,我不明白,然后我发现它是一个 UserNotificationCenter 块,我在代码中看到它从不释放已发布的通知。有必要释放它们吗,毕竟这些东西,app有CoreData实体,我发现了这个,这些都是app中使用的表,我不明白它们怎么可能是内存泄漏,最后这些是是一整块 malloc 块,我又不知道这是什么意思。这是否与内存泄漏有任何关系,下图显示内存消耗只是从 2 或 3 个屏幕切换,PS 这些屏幕在其中, UICollectionViews刚刚从主屏幕切换到一个新屏幕,并且只在 3 个屏幕之间切换一次。 我希望我能从这个平台得到帮助。谢谢UITableViews

标签: iosmemory-leaks

解决方案


推荐阅读