问题标签 [abandoned-memory]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
601 浏览

ios - UIViewController 已正确释放,但其 UIView 未正确释放?

我正在使用 Apple 的 Instruments “分配”工具,并注意到当我在两个视图之间来回切换时,分配总是会增长。调查,我发现所有的内存都来自我的 UIViewController 的 UIView 的子视图的对象。

我检查了一下,我的 UIViewController 正在被释放,但显然 UIView 不是?我没有将 UIView 与 UIView 控制器分开保留。有人有想法么?

这是我编写的用于在视图之间切换的代码。

编辑:
好的,因为担心我只是使用 ViewController 的 View 然后释放 ViewController,所以我尝试了一个实验,在该实验中我创建了一个新类,它是 NIB 中的文件所有者,但继承自 NSObject。

代码现在看起来像这样:

MyView 的初始化程序如下所示:

每次换入和换出新视图时,我仍然会看到视图的内存泄漏。

有什么新想法吗?

0 投票
4 回答
818 浏览

ios - 废弃内存问题

你能帮我吗,我的应用程序快完成了,我现在正在优化它,所以我正在使用 Instrument Allocations 工具,我的视图控制器有问题,但我不知道为什么内存每次我从主视图转到详细视图控制器时都会增加。

这是似乎是问题的代码部分:

这是 detailViewController.h 的代码:

这就是 detailViewController.m :

对不起,我知道这是一段很长的代码,但我不知所措。请帮我。

正如你们所建议的,我做了以下修改:

我还更改了代码的 viewDidUnload 和 Dealloc 部分,现在看起来像这样:

我不太了解 release + nil 的概念,也不太了解在 dealloc 中调用 [self.object release] 和 [object release] 以及在 viewDidUnload 中调用 self.object = nil 之间的区别。

0 投票
3 回答
2374 浏览

objective-c - 废弃内存和内存泄漏有什么区别?

两者完全相同,只是“废弃内存”是指泄漏的整个对象图,而不仅仅是单个对象。正确的?

0 投票
1 回答
389 浏览

ios - 使用 StoryBoard 和 ARC 进行模态转场后被遗弃的记忆

我在使用 StoryBoard 增加内存时遇到问题。
我使用模态序列来进入下一个或上一个。视图控制器。

示例 UIStoryBoard
当我运行 Instruments 时,我可以看到 Viewcontrollers 永远不会超出内存。
所以他们被添加并添加每个segue。

工具分配

我怎样才能把这个 Viewcontroller 从内存中取出?

0 投票
2 回答
185 浏览

ios - 这会导致被遗弃的记忆吗?

我正在查看内存中的堆镜头。这个功能似乎是遗弃记忆的罪魁祸首。

这是我的一个视图“MyView”的视图构建代码的一部分。

如果我使用此函数创建和销毁 'MyView' 100 次,则注释内存大小总是返回到它的基线。但是,如果我将此功能留在我的记忆中,则会不断增加。

据我所知,我不拥有函数中的任何内容。我究竟做错了什么?

0 投票
3 回答
2439 浏览

ios - 如何清除不指向自己代码的废弃内存?

似乎我的应用程序正在放弃内存,因为记录的堆的持久内存不会降至零,并且当连续重复同一组操作时堆继续增长: 在此处输入图像描述

为了找出问题,很多人建议比尔的网站对我没有用,因为我使用的是 ARC,而他指出了参考问题。然后,我关注了Apple 文档并观看了一些与 WWDC 废弃内存相关的视频。他们都说工具将有助于指出可能导致问题的代码行。因此,我查看了每个对象,但没有看到与我的代码相关的任何内容:

在此处输入图像描述

0 投票
2 回答
140 浏览

ios - 被遗弃的记忆

在我的代码中:

有些地方似乎是被遗弃的记忆,我发现了仪器。任何线索为什么?

0 投票
3 回答
509 浏览

ios - ios - 启用 ARC 的堆增长

每次运行一种更新数据和 UI 的方法时都会发现堆增长。以下是我在 Inspector 中看到的内容: 在此处输入图像描述 每次运行该方法时,都会有大约 1MB 的巨大堆增长。几次通话后应用程序崩溃。

在此处输入图像描述

通过调用堆栈向下找到这个静态函数: 在此处输入图像描述

在此处输入图像描述

在代码中找不到任何内存泄漏。请帮忙。(ARC 开启)

更新:

所以现在我在该静态方法中使用了一个 NSCalendar 对象,它帮助了一些,但每次运行该方法时 仍然多出 1MB 。在此处输入图像描述 现在 Inspector 显示了许多与代码无关的内存地址。

在此处输入图像描述

0 投票
0 回答
45 浏览

ios - 废弃内存的应用程序崩溃

我遇到了内存问题。听起来我有所谓的废弃内存和/或参考周期。我试图解决这个问题大约 2 个月,但无法走出这条长长的隧道。我已经使用苹果的 interments 来找出使用最多内存的地方,并且 VM:Image IO_PNG_Data 在崩溃时使用 44MB。我钻得更深,并指出了主要问题。m 被指出 100%。我不明白发生了什么。我是 iOS 新手,我真的需要帮助。您可以从此链接查看我的整个代码。除了主要的,我没有任何可以指出我的代码的东西。

0 投票
0 回答
104 浏览

ios - Objective C 废弃内存

我有一个关于使用视图控制器的废弃内存的问题。

我有一个显示另一个导航控制器的导航栏按钮。一切正常,但是当我运行生成分析时,似乎有与下面的 newTransaction 方法相关的废弃内存。它将显示在我的第一个快照中的两个中,但随后它将显示零增长。我想我的问题是,我正确地展示了控制器(我正在使用 ARC),还是应该改变展示控制器的方式?