问题标签 [allocation]

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 投票
6 回答
7719 浏览

java - 堆栈与堆上的Java内存分配

问这个问题我感觉像个新手——但是为什么当我将下面的 Set 传递到我的方法中并将它指向一个新的 HashSet 时,它仍然以 EmptySet 的形式出现?是不是因为局部变量是在堆栈上分配的,所以当我退出方法时我的new被吹走了?我怎样才能实现功能等效?

0 投票
1 回答
1441 浏览

iphone - iPhone内存泄漏(大量分配)

我在 Instruments 中测试了我的应用程序。未发现泄漏,但应用程序崩溃(不是立即 - 大约 20 分钟后 [取决于用户的活动] 工作)。我查看了分配。它报告:

所有记录(当我查看“Malloc 16 Bytes”的详细信息时)仅针对一个对象:

(...和 ​​14693 条具有相同字段数据的记录,当然,# 除外)。

堆栈跟踪:

我不能在这里粘贴所有代码(应用程序不是几行)。但是,请给我一些建议 - 在哪里搜索内存泄漏或smth。别的...

0 投票
3 回答
258 浏览

objective-c - 对分配和释放感到困惑

我对 Objective-C 和分配/释放对象有点困惑。

如果我这样做:

我必须myString在那之后释放吗?

与自定义对象相同:

我必须释放someObject吗?

我问的原因是我在一个方法中遇到了内存泄漏,我找不到它在哪里。所以我试图弄清楚我是否正确地执行了分配/释放的东西。泄漏发生在 NSPlaceholderString 上(我猜它隐藏在我的 NIB 文件中)。

另外 - 如果我有一个对象,请分配它,但只使用一些属性,但在 dealloc 上释放每个属性 - 这会导致内存泄漏吗?

对不起-希望我的问题至少有一些意义:)

谢谢你的帮助!

0 投票
6 回答
1570 浏览

c - 在 C 中每次错误检查后如何避免长链的免费(或删除)?

假设我非常防御性地编写代码,并且总是检查我调用的所有函数的返回类型。

所以我喜欢:

注意free()事情失控的速度有多快。如果某些功能失败,我必须先释放每个分配。代码很快变得丑陋,我所做的就是复制粘贴所有内容。我成为了一名复制/粘贴程序员,更糟糕的是,如果有人在两者之间添加了一条语句,他必须修改下面的所有代码来调用free()他的添加。

有经验的 C 程序员如何解决这个问题?我什么都想不通。

谢谢,博达赛多。

0 投票
1 回答
57 浏览

objective-c - 在指针上调用 alloc

我正在使用带有目标 C 的 cocos2d。

我有一个名为 CrystalineBubble 的类,它当前是空的,它继承自 CCNode。

当我尝试创建该类的实例并分配它时,我收到警告“CrystalineBubble”可能无法响应“-alloc”

这是我创建和调用 alloc 的代码行。

我已经导入了 CrystalineBubble 类。指针 crystaline_bubble 没有被分配任何内存,在跨过那条线之后它仍然指向 0x0。
我知道我在这里做了一些非常愚蠢的事情,我只是无法发现我的错误。

0 投票
4 回答
485 浏览

pointers - 将 char 存储在 char 指针中

我有一个全局变量,它是*char. 我的主要功能标题为int main(int argc, char* argv[argc]){...}. 这两行代码必须保持原样。我的 main 函数的第一个参数是一些类型*char,我使用它转换为 char atoi(...);。我基本上是将 ASCII 值更改为相应的字符。现在我想将我拥有的这个局部变量字符存储到作为 char 指针的全局变量中。我知道问题与内存分配有关,但我不知道该怎么做。

我的代码:

这会产生一个段错误。

0 投票
2 回答
137 浏览

objective-c - 尝试释放初始化对象时借用的分配内存,但收到 Xcode 警告

好的,所以我有我的 main.m 程序代码,并且 mvds 建议我释放我在创建新实例时从类中借用的分配内存。

出于某种原因,当我尝试使用

它给了我一个警告,说转换器可能不会响应 -free,一旦我完成我的程序,当我尝试循环回到开头或尝试终止程序时,它会吐出一堆垃圾。

我认为这可能与我试图释放内存的位置有关,因为它可能已关闭,或者与我设置的循环有关。

这是我的 main.m 代码:

0 投票
3 回答
5457 浏览

objective-c - 为什么使用 [ClassName alloc] 而不是 [[self class] alloc]?

我正在阅读 Mark Dalrymple在 Mac 上的 Learn Objective-C(仅在协议一章,所以仍然相对较新)并试图弄清楚:

为什么你会用自己的名字来引用一个类?如果我有一个名为 的课程Foo,我为什么要写,比如说,

并不是

如果我有一个子类 Bar,第一个选项不会使我无法写作

而第二种选择会允许吗?什么时候第一个选项更好?

0 投票
5 回答
572 浏览

c - 是否有任何操作系统为 malloc() 实现缓冲?

for/while/do 中的许多 c/malloc() 会消耗大量时间,所以我很好奇是否有任何操作系统为快速 malloc 缓冲内存。

我一直在思考是否可以通过为 malloc 编写“贪婪”包装器来加速 malloc。例如,当我要求 1MB 内存时,初始分配器将分配 10MB,然后在第 2、第 3、第 4 等...调用 malloc 函数将简单地从首先以“正常”方式分配的块返回内存。当然,如果没有足够的可用内存,您将需要分配一个新的贪婪内存块。

不知何故,我认为以前一定有人做过这个或类似的事情。所以我的问题很简单:这是否会显着加快内存分配过程。(是的,我本可以在提问之前尝试过,但如果没有必要,我只是懒得写这样的东西)

0 投票
1 回答
539 浏览

firefox - NPN_MemFree 后的 NPN_MemAlloc 将返回的数据拧到 Google Chrome

我已经完成了我的 NPAPI 插件,它在 Google Chrome 中运行良好,但有一个奇怪的问题。问题是我在插件中编写了一个向浏览器返回字符串的方法。为此,您必须在浏览器中分配内存并将生成的字符串复制到其中。就像是:

请注意,“m_pPtr”是该类的数据成员,并在构造时初始化为 NULL。当我从 Google Chrome 调用此方法两次时,就会出现问题。第一次效果很好。从第二次开始,以此类推,它返回一个在浏览器中显示为“X”的垃圾值。我已经在 Firefox 中测试了相同的插件,无论我调用多少次该方法,它都能正常工作并返回正确的值。但是当我关闭加载插件的页面时,Firefox 崩溃了。

任何指向在这种奇怪情况下发生的事情的指针都值得赞赏。我正在处理它,一旦我得到任何有用的信息,我会更新这个线程。