为什么 ARC 在 popViewController 之后不释放内存

2023-12-23

我在 UINavigationController 中推送和弹出 ViewController。

我正在跟踪我的应用程序的内存消耗。 在推送新的 viewController 时,内存消耗逐渐增加,但是当我使用以下命令弹出相同的 ViewController 时[self.navigationController popViewControllerAnimated:NO];内存消耗并没有减少而是恒定。

该特定的 viewController 可以被用户多次推送和弹出,这可能会导致应用程序在 RAM 中消耗大量内存。

我应该如何优化内存消耗?


当您关闭视图控制器(或弹出它)时,如果您没有向它发出任何强指针,它将被释放(该控制器由导航控制器或呈现视图控制器保留,因此您通常不需要当您创建它并推送或呈现它时有一个指向它的指针)。

如果没有其他强指针指向它,它将被释放

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

为什么 ARC 在 popViewController 之后不释放内存 的相关文章

  • 如何使用AudioKit保存音频文件?

    我有音频文件 我给它做了一些效果 let pitchshifter AKPitchShifter self audioPlayer pitchshifter shift 10 AudioKit output pitchshifter 如果我
  • 在 iOS 上将 NSString 转换为 NSDate 的正确方法?

    我一直在使用此方法将常规 NSString 对象转换为 NSDate 但尝试向 Apple 提交更新 但遭到拒绝 在 iOS 中还有什么其他方法可以做到这一点 NSString date str 2011 08 12T12 20 00Z N
  • 覆盖层不与 UITableView 一起滚动 - iOS

    我有一个 UITableView 类 它使用以下方法在转到下一个屏幕时调用加载覆盖 问题是这个加载屏幕不随列表滚动 所以如果你滚动一点并单击某些东西 加载屏幕不会显示 因为它位于顶部 如何让加载屏幕始终保持在 UITableView 的顶部
  • Firebase 身份验证问题 - 通过电子邮件地址检查用户是否存在

    我在 Firebase 上创建了一个帐户 它有效 但现在我想阻止人们使用已存在的电子邮件地址创建帐户 这是代码 DatabaseManager shared userExists with email completion weak sel
  • Apple Watch 预构建操作可更改故事板 customModule 引用

    我目前有一个项目 其中包含同一应用程序的 3 个不同版本 不同的品牌等 该项目运行得很好 从那时起 我添加了 3 个新的 Apple Watch 目标 每个应用程序 版本 1 个 其中 2 个引用 主 Apple Watch 目标中的文件
  • ios水平居中约束问题?

    I am having hard time in learning constraints auto layout in iOS I have used any width any height I have a storyboard sc
  • 为什么使用小于 32 位的整数?

    我总是喜欢使用最小尺寸的变量 这样效果就很好 但是如果我使用短字节整数而不是整数 并且内存是 32 位字可寻址 这真的会给我带来好处吗 编译器是否会做一些事情来增强内存使用 对于局部变量 它可能没有多大意义 但是在具有数千甚至数百万项的结构
  • 在 iOS 7 Safari 中,如何区分通过边缘滑动与后退/前进按钮的 popstate 事件?

    在 iOS 7 Safari 中 现在有两种后退 前进导航方式 使用底部的传统后退 前进按钮箭头或从屏幕边缘滑动 我正在使用动画在 ajax 应用程序中的页面之间进行转换 但如果用户通过边缘滑动进行导航 我不想触发该转换 因为这本身就是一个
  • Swift 中的 import 语句是否有相关成本?

    阅读字符串宣言 我看到一个段落 https github com apple swift blob master docs StringManifesto md batteries included关于避免Foundation不需要的时候导
  • Flutter 应用程序在 iOS 平台的 firebase 电话身份验证中崩溃

    我在我的项目中实现了 Firebase Phone auth 在 Android 端 一切正常 但对于 iOS 端 当我尝试从我的端发送验证码时 应用程序崩溃并失去连接 我已在下面提交了我的代码 主程序 dart class MyApp e
  • jQuery:离线后 POST 出错(iOS 和 Chrome)

    我构建了一个具有离线功能的 HTML5 Web 应用程序 使用 AppCache 程序流程为 Online 在网络上时 应用程序预加载一些基本信息 工作 Offline 用户拿着装有应用程序的平板电脑offline 然后在应用程序上执行他们
  • UIViewController 不旋转到横向

    在许多情况下需要旋转控制器但不起作用 现在我遇到了相反的问题 它正在旋转 我想禁用它 在那个 ViewController 中我有这个 BOOL shouldAutorotateToInterfaceOrientation UIInterf
  • 如何使用phonegap在iOS应用程序中防止键盘推送webview

    当屏幕底部的输入字段获得焦点时 键盘会向上推我的网络视图 并且页面的上部不再可见 我想防止键盘推高网络视图 有人有主意吗 对焦 设置window scrollTo 0 0 这可以防止键盘完全推高 webview input on focus
  • 使用 UITabBarController 时覆盖整个屏幕的视图?

    我想在 UITabBarController 设置中在整个屏幕上覆盖 HUD 样式的透明图形 执行此操作的按钮位于第一个选项卡的屏幕 FirstViewController 中 并且覆盖层也应该覆盖选项卡 这可能吗 您可以将新视图直接附加到
  • 根据内容自动更改单元格高度 - Swift

    在 Swift 中使用 UITableView 有人可以帮我根据标签 图片和描述自动更改单元格的高度吗 所有信息都正确传递 我只需要帮助格式化它 我尝试使用调整它cell frame size height 但这没有效果 我可以更改故事板中
  • GLKit的GLKMatrix“列专业”如何?

    前提A 当谈论线性存储器中的 列主 矩阵时 列被一个接一个地指定 使得存储器中的前 4 个条目对应于矩阵中的第一列 另一方面 行主 矩阵被理解为依次指定行 以便内存中的前 4 个条目指定矩阵的第一行 A GLKMatrix4看起来像这样 u
  • 从现有坐标地图套件中查找最近的位置

    我正在为拥有多家商店的客户开发 iPhone 应用程序 目标 C 我有数组中所有商店 20 的坐标 纬度 长 目前我正在考虑循环遍历商店坐标数组并获取从用户当前位置到商店位置的距离 然后将它们添加到数组中并按最小距离进行排序 这是正确的方法
  • iOS:Facebook 登录访问令牌错误:由于模拟器错误,回退到从 NSUserDefaults 加载访问令牌

    根据说明进行配置后 我不断收到此错误 并且无法在我的应用程序上成功使用 Facebook 登录 我在 XCode 8 1 上运行它并使用 iOS 10 1 模拟器 我按照 Facebook iOS SDK 指南中的步骤操作 并将 Faceb
  • ios8 键盘高度有所不同

    我使用下面的代码来获取键盘高度 该高度在带有 ios8 的 iPhone 5s 设备中与带有 ios7 的 IPhone4s 设备中有所不同 因此 当我在带有 ios8 的 iPhone5s 中点击它时 我的文本字段移动得非常高 而相同的代
  • 使用强光混合模式时突出显示伪影

    我正在 iPhone 应用程序中使用顶部图像的 HardLight 混合模式混合两个图像 它看起来像这样 UIGraphicsBeginImageContext size sourceImage drawInRect rectangle b

随机推荐

  • 修改Android的seekbar小部件以垂直操作

    我正在尝试让模拟器使用垂直搜索栏 但我 有点卡住了 我可以让搜索栏按照我想要的方式显示 我可以获得做我想做的事情的进度 并且我可以修改 onTouchEvent 让拇指垂直移动而不是 水平地 我不能做的就是让拇指移到外面 默认 29 水平像
  • 确定时间是否在两个时间之间,无论日期如何

    我创建了一个自定义TimePicker我对 Android Wear 表盘的偏好 用户选择一个时间 它会返回当前时间 以毫秒为单位 代码可以在我的GitHub 仓库 https github com Nxt3 IO Classic Watc
  • 自定义 Jersey 错误处理,如何在客户端捕获响应?

    我正在我的网络服务上尝试一些自定义错误处理 在我的 web 服务中 我创建了一个扩展 WebApplicationException 的自定义异常类 如中所述JAX RS Jersey如何自定义错误处理 https stackoverflo
  • 更新 Python3 pip AttributeError 时出错:模块“lib”没有属性“OpenSSL_add_all_algorithms”

    我在 python3 中安装 更新任何 pip 模块时遇到错误 清除并重新安装pip我能想到的每一个包裹都没有帮助 这是我响应运行时收到的错误python m pip install upgrade pip具体来说 但尝试安装或更新任何 p
  • .NET 的顶级缓存库

    您认为哪些缓存库对 NET 最重要或最有用 我这么问是因为我需要联系他们以了解他们计划支持 NET 4 0 的缓存框架 应用架构 http msdn microsoft com en us windowsserver ee695849 as
  • while 循环读取文件提前结束

    最终目标是让我的 bash 脚本在多个服务器上执行命令 我差不多已经设置好了 我的 SSH 身份验证工作正常 但是这个简单的 while 循环快要我的命了 当我执行 while 循环 读取文件中的主机名时 当我运行 ssh HOST una
  • 在 mac osx 中反汇编 g++ 创建的可执行文件

    如何在 Mac OSx 上查看 C 程序的可执行文件 例如 a out 的反汇编版本 这不完全是你所要求的 但是g S从源代码生成汇编 预计比反汇编版本更具可读性 如果你不能重新编译 S 例如没有源代码 那么gdb让你可以拆卸 就像objd
  • dart - 使用空安全时订阅的正确编码模式?

    我已经启用了 dart 2 8 实验性空安全性 我有以下退出代码 StreamSubscription
  • 增强 python 链接

    我正在为我的游戏添加 boost python 我为我的类编写包装器以在脚本中使用它们 问题在于将该库链接到我的应用程序 我在用着cmake构建系统 现在我有一个简单的应用程序 包含 1 个文件和 makefile PYTHON usr i
  • 如何在AWS-Glue脚本中编写用户定义函数?

    我们如何在动态框架或数据框架上使用 PySpark Python 在 AWS Glue 脚本中编写用户定义的函数 Dynamicframe 并不像 Dataframe API 支持 UDF 那样完全支持它 您将获得的最好结果是 MAP ap
  • 应用程序如何使用 Android 4+ 的 Google 离线地图?

    Android 版本 4 引入了离线地图 我可以在手机上选择要缓存的区域 然后 Google 地图会将该地图数据下载到手机上 正如我收到的评论 我想使用我的设备上已有的数据 如果用户之前已经下载了离线地图使用 并且不要打开与 Google
  • 如何知道Python中海龟图形上特定文本的像素大小?

    如标题所示 当我执行以下代码时 import turtle turtle write some text 我想知道字符串的整体大小 包括高度和宽度 some text画布上的乌龟图形 我怎样才能做到这一点 字体大小只能告诉你half您需要知
  • 将名字和姓氏标记为一个标记

    是否可以对标记中的文本进行标记 以便将名字和姓氏组合在一个标记中 例如 如果我的文本是 text Barack Obama is the President Then text split 结果是 Barack Obama is the P
  • 未找到隧道错误 Pyngrok Streamlit 协作

    我正在开发一个用户界面streamlit并使用pyngrok来自科拉布 一切都工作正常 直到几天前开始出现隧道未找到错误 我正在使用下面的代码 我也升级了pyngrok并尝试过 但同样的问题仍然存在 对于整个 UI 构建和 Colab 来说
  • 在没有中间过程的情况下,如何在 Python 调试器中查看函数的返回值?

    PDB 和其他 Python 调试器 有一种简单的方法来查看任何当前变量的值 只需输入它即可 但是 有时我使用的库不将其返回值存储在中间变量中 这是一个示例函数 def do stuff args kwds return f args kw
  • 使用ARAnchor插入节点和直接插入节点有什么区别?

    在ARKit中 我发现了两种在hitTest之后插入节点的方法 插入 ARAnchor 然后在中创建节点renderer renderer SCNSceneRenderer nodeFor anchor ARAnchor gt SCNNod
  • Zend Framework:该行已标记为只读

    这是我第一次遇到这个问题 保存我的模型之一时 我收到错误消息 此行已标记为只读 不知道为什么我会收到此错误以及如何解决它 堆栈跟踪对我没有帮助 如何解决此问题以便保存记录 将行标记为只读可能是以下任一操作的结果 The Zend Db Se
  • Cocos2d中用手指旋转精灵

    我需要帮助用手指计算精灵的旋转 精灵旋转得很好 但在我手指第一次触摸时 它不知何故自行旋转了几度 此外 只有当手指围绕精灵中心旋转时 旋转才起作用 我正在尝试模拟自行车车轮 并有一个齿轮精灵和一个踏板精灵作为齿轮精灵的子级 我希望当我触摸踏
  • 输入类型=复位和敲除

    单击表单重置按钮时 Knockout 不会更新可观察值 http jsfiddle net nQXeM http jsfiddle net nQXeM HTML
  • 为什么 ARC 在 popViewController 之后不释放内存

    我在 UINavigationController 中推送和弹出 ViewController 我正在跟踪我的应用程序的内存消耗 在推送新的 viewController 时 内存消耗逐渐增加 但是当我使用以下命令弹出相同的 ViewCon