问题标签 [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.
objective-c - 条件分配/释放?【Objective-c与Cocos2D】
如果我想在另一个类中分配一个类并且我想轻松引用它,但有时这个类不需要被分配,因此不需要被释放。这是怎么做到的?我可以在 dealloc 中放置一个条件,所以它不必被释放吗?
更详细地说,我使用的是 Cocos2D。我有可能需要也可能不需要分配的玩家能力等级。在我的初始化中:
Cocos2D 需要保留引用,以便它可以随地图滚动。但是如果我不分配它,我怎么不解除分配?
iphone - initWithContentsOfFile:path] 返回 nil 时的内存管理
[[UIImage alloc] initWithContentsOfFile:path]
当方法无法初始化图像时返回 nil。[image release]
然后下一个代码不会释放分配的 UIImage,因为图像在该行中为零:
这真的是内存泄漏吗?
如果 init 返回 nil,必须如何释放该对象?如果我做 UIImage* image = [[UIImage alloc] initWithContentsOfFile:path];
并且 image 为 nil,因为 init 失败,[image release] 与 [nil release] 相同。好的,没有错误,但没有发布任何内容。
objective-c - 目标 C:释放和分配
我对 C 和 Objective C 很陌生,但是我找不到这个答案
所以我遇到了一个花了我一段时间才解决的问题,基本上我被告知,当你分配一个对象时,你应该释放它。所以这就是我所做的,它导致我的程序崩溃......
这是代码:
我想我知道为什么是因为“numberString = resultLabel.text”行,但是我不明白程序为什么会崩溃。为什么我不能释放 numberString?如果我不这样做会导致内存泄漏吗?
PS我知道代码很笨拙,我是编程新手,而且是Objective C的超级新手。
PSS 我稍后在 -(void)dealloc{} 中发布 resultLabel
iphone - 为什么不建议用id进行分配和初始化?
在以下示例中,可能会出现哪些问题。
iphone - 内存分配问题
我有一个不断更新的字符串(每秒约 33 次)。它被一遍又一遍地使用,并且在我要去的循环中无处不在。这是循环:
NSTimer 每 0.03 秒触发一次。我认为我可以在逻辑上释放它的一个地方debtString
是在它被转换为一个 long long 整数之后。但是,这会使应用程序崩溃。如果我删除该[debtString retain]
行,应用程序将崩溃。
内存建立起来很快,它是一个 14 字节的字符串。每秒创建另外 462 字节的错误分配内存,连同所有的调整,大约为 3696 字节/秒。这不是我可以忽略的泄漏。我只是不知道在哪里释放它循环!
iphone - iPhone内存管理
我一直在使用仪器来检查程序中的泄漏和其他内存问题。尽管仪器发现的泄漏非常小并且无关紧要,但我发现在我使用该程序时,可用的物理内存一直在下降。
我使用内存监视器来确定我的应用程序正在使用多少内存,并使用分配来确定这主要发生在哪里。我总是确保每次分配或保留时都释放,并且看到几乎没有任何泄漏,我假设我的内存管理很好。
有谁知道我可以做些什么来解决这个问题或推荐一种方法来解决这个问题?
objective-c - 如何使用图像管理内存
好的,所以如果我写了很多代码而没有分配任何对象,那么内存去哪儿了?
例如,而不是拥有
我有
在我所有的代码中。我看不到第二个示例中的内存发生了什么。我仍在学习,并在整个应用程序中使用第二个示例编写了大量代码,而从未分配任何对象。它在模拟器中总是运行良好,但实际设备无法处理内存并崩溃。所有关于内存管理的教程都在释放您创建的对象的意义上谈论它,但是由于我从未创建任何对象,所以我被卡住了。
ios - 如果在循环中分配,会创建多少个对象
我试图让我的注意力集中在 iPhone SDK 中内存管理的一个方面。
如果我跑:
我是在内存中创建 10 个 myArray 对象,还是每个 alloc 都覆盖前一个?如果是后者,我想在循环之后我只需要一个 [myArray release] 来清理。如果是前者,我想我需要在 For 循环中释放。
谢谢。
iphone - iPhone分配和释放
我是 ObjC 和 iPhone 的新手。
我下载了一个在多个视图之间共享数据的示例。基本方法是在基础 UIApplication 中创建一个数据模型对象并从中获取/设置数据。所以在init方法中我看到了以下代码:
之后,使用委托我们可以访问这个对象。
所以,我的问题在第一个代码示例中。为什么我们需要为 theAppDataObject 对象分配内存,然后立即释放该对象?为什么我们稍后访问这个对象时不会得到 nil 呢?
10倍
ios4 - 初始化 NSString 时分离 alloc 和 init
我有一种情况,我想分配一个 NSString 对象,并在 if-else 块内为其分配文本。当我编写这样的代码时:
我得到一个错误someFunction
(当我尝试使用时抛出一个 NSInvalidArgumentException string
)。此外,当我单步执行我的代码时,一旦我进入someFunction
,控制台会生成一行内容:
你忘了嵌套alloc和init吗?
这是指string
.
我使用 NSMutableString 尝试过同样的事情,string = [[NSMutableString alloc] init]
只是在每个 if-else 块中执行并附加到字符串,但我想知道是否有人知道为什么以前的方法不会产生相同的结果。