问题标签 [alloc]

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 投票
1 回答
66 浏览

objective-c - 问题重新分配分配的对象

崩溃发生在 [searchDict 版本]。如果我切换两个最新行的顺序,它仍然会在最新行上崩溃(现在 [searchArray 版本])。我对Objective C很陌生,我想我没有正确分配/释放...帮助?:)

0 投票
1 回答
88 浏览

xcode - 在 xcode 项目中,如何检查给定地址中具有对象的属性是什么?

我正在尝试使用分配工具,但我不知道如何使用它,无论如何我认为这不仅对摆脱 exc_bad_access 很有帮助

无论如何,我设法得到了这个:

* -[NSPathStore2 release]:消息发送到释放的实例 0x6018e00

那是使 exc_bad_access 正确的实例吗?但我不知道它是什么,而且我的代码很大......我不知道从哪里开始检查。我在 xcode 3.2.5

0 投票
2 回答
7541 浏览

objective-c - 我们可以在目标 C 中覆盖 alloc 和 dealloc 吗?

我知道这很少需要覆盖allocordealloc方法,但如果需要,是否可以在 iPhone 编程中使用?

0 投票
4 回答
225 浏览

iphone - 为什么变量的隐式初始化在 iPhone 上无法始终如一地工作?

所以这是我的场景——在我做的一个类的头文件中:

在实现文件中,我这样做:

我发现在执行此操作时与 [NSString alloc] initWithString:] 存在某种不一致。

如您所见, string1 和 string2 的处理方式完全相同,但发生的是 string1 正在设置,但 string2 仍然为空。当我稍后引用它时,我得到了一个错误的访问权限。

我想也许我正在将一个空字符串传递给methodTwo:所以我添加了证明它不是空的NSLog,但具有预期的字符串。

由于我在决定更改为之前已经注意到这种不一致:

现在两个字符串都按预期工作。我的问题是为什么会出现这种不一致?

这不是我唯一一次发生这种情况。它发生在各种物体上。唯一似乎每次都有效的是alloc init。像 stringWithString: 这样的方法大部分时间都有效,但并非总是如此。

0 投票
1 回答
83 浏览

ios - Invisible memory leaks... iOS 4

So I've got an issue with memory. It seems that I am not properly releasing or deallocating objects because I am getting this subtle buildup of memory in my game.

I init all objects like this:

I release all objects in the dealloc methods like so:

Now I feel I should mention that my game runs on views. I have the main view that loads the sub-views into one variable called 'currentView'. I switch between the views like so.

I want to know if the issue is with my initialization and deallocation of objects or if its the views. I also want to know any strategies I can use to track down any leaks that don't show up in instruments.

I need this information ASAP, and if you can help it would be REALLY appreciated. Thanks.

EDIT: When I run it through instruments it shows the memory my app uses. and it has a strange pattern. When it loads the first view it starts with approx. 17mb used. Then I switch to the second view and it goes up to 22mb. Now if I go back to the first view it DOESN'T go down to 17mb again but down to about 20mb instead. Now when I continue to switch between the two it goes between 22mb and 20mb and stays pretty much the same. How can this be explained?

EDIT2: The pattern explained in the above edit is consistent throughout the entire game. Because of this consistency I've noticed a 70kb per-level leak in my game. Obviously this should not cause any problems while my game stays under 100mb so unless they play my game for EXTENDED periods of time, this shouldn't be a problem.

Although, I would still like to know how I can track down that 70kb leak.

0 投票
1 回答
531 浏览

c++ - VC2008 C++ 内存泄漏

请注意我的英语水平很低。但我会尽力解释。


我在 Visual Studio 2008 sp1 中制作了一个 mfc 项目。

这个项目包括一个由 2008/sp1/native C++ 制作的静态库

问题在于这一步:

1) 在 mfc 项目上构建并开始调试
2) 单击主窗口上的 x 按钮或 alt+f4 退出程序
3) 主窗口立即关闭
4) 但是当我查看 taskmgr 的进程选项卡时,它仍然存在。
5) 如果我尝试在 taskmgr 上终止 mfc 项目进程,它会立即
终止 6) 但 Visual Studio 仍处于调试模式,并且在 IDE 上花费了很长时间才恢复正常。
7)时间为5~10分钟
8)输出日志,检测到内存泄漏!!
9) 日志非常大,几乎 11 兆字节的文本


我找到了重点。
1)静态库总是在启动时创建一个库的主要功能类的实例,使用new运算符(启动是静态时间,在main前面)
2)静态库的构造函数有下一个代码
注释:对不起,我试试在此编辑器中查看“代码”选项卡,但我无法制作代码部分,因此我编写代码并订购“br”html标签。


//这段代码是我的静态库,使用游戏的物理引擎。

问题是在销毁这个实例时。
当删除运算符调用(在程序结束时)时,需要很长时间。
当我删除

,或减少MAX_OBJECT_NUMBER(原来是#define MAX_OBJECT_NUMBER 100000,但我把它减少到5或10),'长时间'消失了!!

'm_objAvaliable' 的类型是std::list<DWORD>
这个成员变量似乎不会导致内存泄漏。(因为这个容器没有任何堆分配关系)
和包括这个库的其他项目没有这个问题。
(但 mfc 项目是第一次包含,在这种情况下我只能看到这个问题)
有没有人想出解决这个问题的方法?
如果您想了解更多信息,请对本文发表评论。我会尽快回复
:它只发生在调试模式下。在发布模式下,不会发生此问题。

0 投票
1 回答
240 浏览

objective-c - Objective-C:从 class1 [alloc init] 方式调用类 2 实例不起作用

我在 GameScreen.m 文件上有以下方法,在 GameScreen.h 文件上有自己的声明 - (void) drawNumbers:

我试图从我的 GameScreenViewController.m 文件中调用这个方法,这样:

这应该更改 GameScreen.xib 文件中按钮的标题,其中 GameScreenViewController.m 是 viewController,GameScreen 类是事件处理程序,我在其中获得所有按钮点击、计时器运行等。我正在尝试调用 [drawNumbers ] 来自 [viewDidLoad],因为我希望在屏幕显示在前面时更改标题(屏幕管理是通过 AppDelegate 文件完成的)。

问题是,如果我从同一个类中调用 drawNumbers 实例

它可以工作(也就是说,代码实现或图形界面没有错)。

我浏览过 Apple Guide 和互联网上的大量页面,但我似乎找不到任何线索。任何进一步的帮助(包括关于在 ADG 中确切找到答案的答案)将不胜感激。

(编辑:这里是 AppDelegate 代码翻转到特定视图,以防万一):

0 投票
2 回答
3413 浏览

iphone - Objective C 何时使用 alloc 何时不使用

我正在尝试学习目标 C,而我觉得很奇怪的一件事是什么时候使用 alloc 什么时候不使用。以这段代码为例:

为什么你不必先做这样的事情来分配它?

我敢肯定,我缺少目标 C 中的一些基本内容,但奇怪的是,我很难在不发布的情况下找到解释。谢谢!!

0 投票
4 回答
117 浏览

objective-c - 可以重新分配释放的对象吗?

如果我这样做

在下一行分配我的对象有什么问题吗

再次?

0 投票
2 回答
1826 浏览

objective-c - Objective-C - alloc 和 allocFromZone 之间的区别?

可能重复:
alloc 和 allocWithZone 有什么区别:?

我读过一篇文章,其中提到 usingallocWithZone通过使用更靠近对象本身的内存位置来帮助提高性能。这是真的?是否建议使用allocWithZone而不是alloc?alloc 和 allocWithZone 有什么区别?

证明的例子是: