问题标签 [reference-counting]

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 回答
469 浏览

shared-ptr - shared_ptr<> 不需要使用引用计数吗?

我是否了解shared_ptr不需要使用引用计数的新标准权限?只是它很可能是以这种方式实现的吗?

我可以想象一个以某种方式使用隐藏链表的实现。在 N3291 “20.7.2.2.5.(8) shared_ptr 观察者 [util.smartptr.shared.obs]” 注释说

[注意:use_count() 不一定有效。——尾注]

这给了我这个想法。

0 投票
1 回答
3314 浏览

memory-management - WinRT 有垃圾收集吗?

WinRT 有垃圾收集吗?

还是它像 COM 一样进行引用计数?

0 投票
6 回答
5104 浏览

c++ - Does C++/CX detect and solve cycles of objects?

From my understanding C++/CX doesn't use garbage collection, it use a reference counted approach instead.

The problem with reference counting is that it cannot dispose of cycles. Cycles are usually solved using weak references, such as weak_ptr in standard C++.

But I cannot find a way in C++/CX to explicitly specify a weak reference. From that I would assume that this is handled by C++/CX itself. I am wondering how C++/CX would solve this.

For instance, look at the following code:

How does C++/CX detect this cycle?

How does C++/CX solve this cycle?

How does C++/CX decide which one of these objects should be the "root object" and which one should be the "weak reference"?

0 投票
0 回答
293 浏览

actionscript - Flash Media Server 中的垃圾收集

我的项目中有内存泄漏,我想知道垃圾收集器如何在 Flash Media Server 中工作。

我有两个问题:

  1. FMS 是否会从内存中释放具有循环引用的对象。例如,当对象 A 具有对对象 B 的引用时,反之亦然。

  2. 为什么在空闲超时卸载应用程序后 FMS 仍然消耗内存。例如,没有用户连接,然后 fms 在 20 分钟后卸载了应用程序。内存使用率保持在同一水平(很长一段时间)。

一般来说,我想念一些编写 FMS 代码的最佳实践。WinXP 上的 FMS 3.5.1

0 投票
4 回答
11810 浏览

iphone - 使用 ARC 的优缺点是什么?

在 iOS 项目中使用新的自动引用计数 (ARC) 内存管理样式有哪些优点和缺点?

使用 iOS 5.0 SDK 开发时可以选择不使用 ARC 吗?

您是否为新项目推荐 ARC 或手动引用计数 (MRC)?

使用 ARC 的应用程序能否在比 iOS 5.0 更旧的操作系统版本上运行?

0 投票
2 回答
305 浏览

objective-c - 何时保留 NSString?

当一个 NSString 对象作为参数传入时,我应该总是这样做retainrelease

或不?我应该在何时何地使用它?

0 投票
6 回答
1161 浏览

objective-c - 将非 NSObjects 添加到 NSMutableArray

最近的 SO讨论让我感到困惑。NSMutableArray 的原型addObject:

id在 objc.h 中定义为

当我将 NSObject 或子类添加到 anNSMutableArray时,它的保留计数会增加,而当我从 an 中删除它时,NSMutableArray它会减少。这是否意味着如果将id type不是一个NSObject或子类的一个添加到一个NSMutableArray,它必须响应保留和释放消息?的定义id似乎并没有强迫这一点。任何人id type都应该响应标准内存管理消息是一个客观的 C 指令吗?

0 投票
3 回答
15876 浏览

objective-c - 我应该在 ARC 的 init 方法中引用 self.property 吗?

一个快速的问题。

如果我有一个属性和一个用相同名称声明的 ivar:

在 .h 文件中:

在 .m 文件中,如果我使用 ARC,我应该使用 ivar 还是 init 方法中的属性?

或者我应该使用该属性来获得自动引用计数的好处,如下所示:

我不确定在对象初始化的哪个时间点可以使用点符号访问属性。

0 投票
2 回答
6083 浏览

php - 调试 PHP 内存泄漏。跟踪引用计数?

我有一个相当大的 PHP 脚本正在泄漏内存。我已经能够弄清楚什么对象正在泄漏,但我无法找出它在脚本中泄漏的位置。我的脚本的某些部分保留了对泄漏对象的引用。

有什么方法可以跟踪(最好是回溯)PHP 对象的引用计数在何处/何时增加或减少?

0 投票
1 回答
576 浏览

objective-c - 保留计数为 0 的对象不会被释放

为什么我在以下泄漏跟踪中的对象没有被释放?
在此处输入图像描述
trace 说它的引用计数是 0,那么为什么它不被释放呢?
该对象是直接派生自 的自定义类NSObject。我所做的就是alloc它,init它,从中复制一些字符串/数字,然后发送release,但它仍然被认为是泄漏并且不会被释放。我认为它在工具的分配下是“活的”,所以它真的没有被解除分配。我创造了数百个这样的物体,所以我不能让它们活着。
我怎样才能让这个对象被释放?为什么不首先释放它?