クラスの Xcode Instruments でメモリ リークとゾンビ オブジェクトを示したいと思います。特にARCがオンになっていると、意図的にトリガーするのはかなり難しいことがわかりました. どうすればそれらを作成できるか知っていますか?
質問する
645 次
2 に答える
3
リークの場合:
A と B の 2 つのクラスを作成します。A には、B のインスタンスを強く参照する @property が必要です。B には、A のインスタンスを強く参照する @property が必要です。
A *a = [A new];
B *b = [B new];
a.b = b;
b.a = a;
漏れが発生してしまいます。
ゾンビの場合
type の @property assign
(または type の変数) を作成します__unsafe_unretained
。次に:
A *a = [A new];
A.dangerDanger = [NSObject new];
それはゾンビの状況を作り出すはずです。より具体的には、ダングリングポインター。
于 2012-12-09T22:03:20.340 に答える
0
リークを示すより洗練された方法は、それ自体への強いポインタを持つクラスを持つことです
A* a = [A new];
a.leakingpointer=a;
于 2013-12-06T08:10:17.850 に答える