問題タブ [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++ - C ++ / CXはオブジェクトのサイクルを検出して解決しますか?

私の理解では、 C ++ / CXはガベージコレクションを使用せず、代わりに参照カウントアプローチを使用します。

参照カウントの問題は、サイクルを破棄できないことです。サイクルは通常、標準C++のweak_ptrなどの弱参照を使用して解決されます。

しかし、C ++/CXで弱参照を明示的に指定する方法を見つけることができません。それから、これはC ++/CX自体によって処理されると思います。C ++/CXがこれをどのように解決するのか疑問に思っています。

たとえば、次のコードを見てください。

C ++ / CXはこのサイクルをどのように検出しますか?

C ++ / CXはこのサイクルをどのように解決しますか?

C ++ / CXは、これらのオブジェクトのどれを「ルートオブジェクト」にし、どれを「弱参照」にするかをどのように決定しますか?

0 投票する
0 に答える
293 参照

actionscript - Flash Media Server のガベージ コレクション

プロジェクトでメモリ リークが発生しました。Flash Media Server でガベージ コレクタがどのように機能しているのか疑問に思っています。

2 つの質問があります。

  1. FMS は、サイクル参照を持つオブジェクトをメモリから解放しますか。たとえば、オブジェクト A がオブジェクト B への参照を持っている場合、およびその逆です。

  2. アイドル タイムアウトによってアプリケーションがアンロードされた後も FMS がメモリを消費する理由。たとえば、ユーザーが接続されていなかった後、20 分後に fms がアプリをアンロードしたとします。メモリ使用量が同じレベルのまま (長期間)。

一般に、FMS コードを書く際のベスト プラクティスをいくつか見逃しています。WinXP 上の FMS 3.5.1

0 投票する
4 に答える
11810 参照

iphone - ARCを使用することの長所と短所は何ですか?

iOSプロジェクトで新しい自動参照カウント(ARC)メモリ管理スタイルを使用することの長所と短所は何ですか?

iOS 5.0 SDKで開発するときにARCを使用しないことを選択できますか?

新しいプロジェクトにARCまたは手動参照カウント(MRC)をお勧めしますか?

ARCを使用するアプリケーションはiOS5.0より古いバージョンのOSで実行できますか?

0 投票する
2 に答える
305 参照

objective-c - NSString を保持するのはいつですか?

NSString オブジェクトが引数として渡された場合、常に次のことを行う必要がretainありreleaseます。

か否か?これはいつ、どこで使用すればよいですか?

0 投票する
6 に答える
1161 参照

objective-c - 非NSObjectをNSMutableArrayに追加する

この最近のSOの議論は私を混乱させました。のNSMutableArrayプロトタイプaddObject:

idobjc.hで次のように定義されています

NSObjectまたはサブクラスをに追加するとNSMutableArray、その保持カウントが増加し、それを削除すると、NSMutableArray減少します。これは、またはサブクラスid typeではないがに追加された場合、メッセージを保持および解放するために応答する必要があることを意味しますか?の定義はこれを強制するようには見えません。標準のメモリ管理メッセージに応答する必要があるのはObjectiveCディレクティブですか?NSObjectNSMutableArrayidid type

0 投票する
3 に答える
15876 参照

objective-c - ARCのinitメソッドでself.propertyを参照する必要がありますか?

簡単な質問。

同じ名前で宣言されたプロパティとivarがある場合:

.hファイル内:

.mファイルで、ARCを使用している場合、initメソッドでivarまたはプロパティを使用する必要がありますか?

または、このプロパティを使用して、次のように自動参照カウントを利用する必要があります。

オブジェクトの初期化のどの時点で、ドット表記を使用してプロパティにアクセスできるようになるかはわかりません。

0 投票する
2 に答える
6083 参照

php - PHP メモリ リークのデバッグ。参照カウントを追跡していますか?

メモリリークしているかなり大きな PHP スクリプトがあります。どのオブジェクトがリークしているのかを特定できましたが、スクリプトのどこでリークしているのかを特定できませんでした。私のスクリプトの一部は、リークしているオブジェクトへの参照を保持しています。

PHP オブジェクトの参照カウントがいつどこで増減したかを追跡 (できればバックトレース) できる方法はありますか?

0 投票する
1 に答える
576 参照

objective-c - 保持カウントが 0 のオブジェクトが解放されない

次のリーク トレースのオブジェクトが解放されないのはなぜですか?
ここに画像の説明を入力
トレースはその参照カウントが 0 であることを示しているのに、なぜ解放されないのでしょうか?
オブジェクトは、 から直接派生するカスタム クラスですNSObject。私がそれで行うのは、それallocinitそれ、そこからいくつかの文字列/数値をコピーして送信することreleaseだけですが、それでもリークと見なされ、割り当てが解除されません。私はそれを楽器の割り当ての下で「生きている」と見なしているので、実際には割り当てが解除されていません。私はこれらのオブジェクトを何百も作成しているため、それらを存続させることはできません。
このオブジェクトの割り当てを解除するにはどうすればよいですか? そもそも割り当てが解除されないのはなぜですか?