ios - 修复 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
解决方案
推荐阅读
- vue.js - 在构建部署到 S3 后获取环境变量是 Vuejs
- android - 使用改造时如何更新 RecyclerView?
- powerbi - PowerBI DAX Measure 不拾取行
- c - 如何在C中打印指向哪个指针成员的值
- php - Symfony 4.26 / php 7.4.9 - 找不到驱动程序
- sql - 如何在不使用窗口函数 Oracle 的情况下获取每组的第一行?
- testing - 什么是好的进程 I/O 速率?
- python - 改进我的“matplotlib.pyplot”语法以按目标散点图
- docker - 如何在 mcr.microsoft.com/dotnet/core/sdk:3.1 中运行 Windows 服务?
- python - 为什么不能在 django admin 中隐藏 slug 字段?