如何找出 Instruments 中保留对象的内容?

2023-12-24

我最近将我的 iOS 项目转换为 ARC。视图控制器之一没有调用其 dealloc 方法,并且没有根据 Instruments 进行释放。

我已经仔细检查了我的所有属性并将适当的属性设置为弱。我还确保任何将视图控制器作为委托的东西都在 viewWillDisappear 上取消设置,但视图仍然保留在内存中。

我是 Instruments 的新手:我如何知道什么保留了这个视图?


好吧,如果你真的陷入困境并且程序很复杂(或者抽象,在 ARC 的情况下),你可以拿出大炮:

  • 打开您的 Xcode 项目
  • 选择可执行文件(如果需要)
  • Press cmd+i(轮廓)
  • 在 Le Wizard 中选择“Leaks”仪器(如果需要)
  • 按 Return 键开始分析
  • 锻炼你的应用程序
  • 按仪器中的“停止”
  • 验证已选择“分配”工具
  • 单击并按住名为“统计”的弹出按钮
  • 选择对象列表项
  • 在对象列表的记录中找到您感兴趣的分配
  • 选择该分配/对象
  • 单击该分配的表格视图单元格中地址右侧的“详细箭头”
  • 现在您可以看到与分配相关的所有事件(分配、释放、引用计数操作)
  • Press cmd+shift+e详细信息
  • 浏览此列表中的事件,找到您要寻找的不平衡之处。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何找出 Instruments 中保留对象的内容? 的相关文章

随机推荐

  • Thread 与 CompletableFuture

    与使用 CompletableFuture 相比 直接将代码传递给线程有什么优势 Thread thread new Thread gt do something thread start VS CompletableFuture
  • Phantomjs 使用 fs.write 追加到文件

    如何使用附加到文件fs write 在同一文件上使用 fs write 会覆盖内容 var fs require fs try fs write file txt Hello World w fs write file txt Hello
  • Play 2.0 RESTful请求后处理

    关于这个问题 https stackoverflow com questions 11060761 how can my play 2 app respond to different accept headers from the cli
  • 没有模块命名常量

    我想用 Tastypie 框架做示例应用程序 我将 Tastypie 添加到已安装的应用程序并进行了修改urls py根据需要 添加from tastypie api import Api 但当我打开http localhost 8000
  • iPhone 应用程序中出现奇怪的不需要的动画

    我不想发布这个 但我在我正在开发的 iPhone 应用程序中看到了不需要的动画 我以前从未在我的应用程序或任何其他应用程序中见过这种情况 此应用程序仅适用于 iOS 4 2 和 iPhone 即使在 iPhone4 上也会发生这种奇怪的情况
  • 元组函数的 N 元版本

    是否有一个库具有 n 元版本的元组函数 例如first 等 通过 Template Haskell 或使用其他方法 理想情况下我想说 select 3 0 1 我们用它来表示 lambda x y z gt x y 对于一个通用的 对于功能
  • 如何在 Internet Explorer 中的全高表格中制作全高单元格

    我有下一个html代码 table style width 100 height 100 tr td td tr table
  • 我如何教 ProGuard 删除它保留但我不使用的东西?

    我有一个 Android 项目proguard rules pro文件为app模块仅包含以下内容 ProGuard rules dontobfuscate dontwarn android arch util paging CountedD
  • 获取特定格式日期的唯一 ID?

    我有可以生成随机唯一 ID 的代码 但是有没有办法可以编辑此代码 以便它以特定方式 如 yyyy mm dd 0001 获取日期 我希望每次单击generateid按钮时最后4位数字加1 所以它将更改为 0002 这是我当前的代码 有没有可
  • 如何在 Java 中识别/处理文本文件换行符?

    我从不同的系统获取不同格式的文件 我需要将它们导入到我们的数据库中 导入过程的一部分是检查行长度以确保格式正确 我们似乎在处理来自添加了一个字符的 UNIX 系统的文件时遇到了问题 我怀疑这是由于 UNIX 和 Windows 平台上的回车
  • Airflow:如何删除 DAG?

    我已经启动了 Airflow 网络服务器并安排了一些 dags 我可以在 Web GUI 上看到这些 dags 如何删除正在运行并在 Web GUI 中显示的特定 DAG 有 Airflow CLI 命令可以做到这一点吗 我环顾四周 但找不
  • 在 AMP 中运行 JavaScript

    我对 JavaScript 应该如何在 AMP 页面中运行感到有点困惑 据我了解 我的 JavaScript 必须在 iframe 中执行 此类 iframe 必须放置在页面下方 至少从顶部起 75 并且必须通过 https 提供服务 这确
  • std::runtime_error::runtime_error(const std::string&) 如何满足 std::Exception 对 throw() 的要求?

    std exception要求它的构造函数是throw Yet std runtime error接受一个std string作为它的参数 这表明它正在存储一个std string某处 因此 作业或复制构造必须在某个地方进行 而对于std
  • http.sslVerify=false 不会在 git config 中禁用 ssl 验证

    Issue 我一直在尝试通过来自企业 GitHub 服务器的 http 代理 在 git 全局配置中设置 从 Ubuntu AWS 实例克隆 git 存储库 从代理克隆可以工作 但是从实例克隆 通过代理 我收到以下错误 致命 无法访问 ht
  • 在 Visual Studio 中调试 JavaScript 时出现“没有为当前文档加载符号”

    我正在开发一个 NET 3 5 网站 一个解决方案下有三个项目 我在这个项目中使用 jQuery 我想使用 Visual Studio JavaScript 调试器来单步执行我的 JavaScript 代码 如果我在任何 js 文件中设置断
  • QLabel Qt/c++ 文本的渐变颜色

    我尝试为 QLabel 文本设置渐变颜色 我正在尝试使用 setStyleSheet 函数 但它不起作用 我阅读这篇文章 https www qtcentre org threads 32781 don t work qlineargrad
  • data.table join + update with mult='first' 给出了意想不到的结果

    在下面的示例中 我有一个用户表和一个事务表 其中一个用户可以有 0 个 1 个或多个事务 我执行连接 更新mult first 在 users 表上尝试插入一列 指示每个用户第一次发生事务的日期 library data table v1
  • 如何从 XLL UDF 返回数组

    我正在尝试使用 C API 为 Excel 编写一个数组构造函数作为工作表函数 Goal array cons 1 2 3 gt 1 2 3 但是 我没有正确初始化 XLOPER12 在 Excel 中 我的函数当前返回 NUM 我正在将参
  • 模块已经成功安装,但是导入时却找不到? - Python

    我正在尝试使用 graphviz Python 模块 但遇到了这个问题 我在命令提示符下安装了它 但它没有显示在 IPython 中 我还有一个 Python 3 5 32 位 解释器 它显示在其中 但我正在尝试弄清楚如何安装它 以便它在
  • 如何找出 Instruments 中保留对象的内容?

    我最近将我的 iOS 项目转换为 ARC 视图控制器之一没有调用其 dealloc 方法 并且没有根据 Instruments 进行释放 我已经仔细检查了我的所有属性并将适当的属性设置为弱 我还确保任何将视图控制器作为委托的东西都在 vie