ios - NSString initWithCoder,DequeueReusableCell 处的内存泄漏
问题描述
请在回答之前阅读完整的案例,这里有一个类似的问题。
没有实际答案。
案例如下,
1.我有一个里面UITableView
有 3 个原型的。
2.我在委托中使用。
3.使用仪器和内存图,该函数导致Malloc类型的内存泄漏。其中每个单元都泄漏了N个类型的字节UITableViewCell
UIStoryBoard
tableView.dequeueReusableCell(withIdentifier:, for:)
CellForRowAt
dequeueReusableCell
NSString
仪器配置文件看起来像这样。 并跟踪这30个 Malloc 字节中的每一个字节(每个单元格 1 个)。
现在我已经尝试过:
首先我认为这个问题与出队中用作标识符的字符串有关,代码看起来像这样
guard let cell = tableView.dequeueReusableCell(withIdentifier: "TransactionHeaderCell") as? TransactionHeaderCell else { return UITableViewCell() }
这很简单,但是我将其保存cellId
在a中static var
以进行仔细检查,结果是相同的,
其次,我实现了一个类似这样的通用出队函数,
没有运气,因此我怀疑它与出队的实现方式有关,但更多的东西可能在它自己的单元格中或Foundation
我没有得到的工具包中,
旁注:这可能不相关,但
UIViewController
持有UITableView
是 的一部分UITabBarController
。
解决方案
推荐阅读
- mysql - 使用 Express 将变量传递给 MySQL
- .htaccess - 使用 htaccess 文件进行重定向的问题
- python - 需要删除包含“?”的句子 在文本文件中
- python - 将图像中的 3 维数组转换为 4 维数组的问题
- html - 如何修复显示:inline-flex 缩放问题?
- c# - 在 .NetCore 中将 HTTP/JSON 转码为 gRPC
- ios - 将 App Store 中的 SAP Mobile Services 应用替换为 SAP Cloud Platform 应用
- c# - 使用 iTextSharp 设置表格中的字体格式
- javascript - React Native 检测 android 上导航类型设置的变化
- vue.js - vue-i18n:有没有办法在 $t 方法中手动设置语言环境?