1

デバイスやエミュレーターでプロジェクトを実行できないのは奇妙な状況ですが、実行オプションの代わりにプロファイルを選択すると、ゾンビの男がいなくてもアプリは問題なく実行されます。

プロジェクトをARCに変換した後に発生します。Xcodeがやることを教えてくれるので、コードを変更するだけです。このプロジェクトのサイズが原因で、コードのすべての行を調べることはできません。

ps。私はこのアプリケーションのサードハンドなので、1万行のコードを理解することはほとんど不可能です。

4

2 に答える 2

2

プロファイリングせずにXcode自体でゾンビを有効にしてみましたか?これにより、オブジェクトの割り当てが解除されないように設定されるため、保持カウントがゼロのオブジェクトにメッセージを送信すると、オブジェクトが何であるかがわかり、通知されます。オブジェクトが通常どおりロック解除されるように、必ずもう一度オンにしてください。

ここでそれを行う方法を参照してください: XcodeでNSZombieを有効にする方法は?

于 2012-09-06T22:00:28.197 に答える
0

以下は事後に役立ちますが、移行前に実行するのがIMOの最善の方法です。問題が存在する場合、ARCはいくつかの問題を解決し、他の問題をあなたから抽象化します。

1)自動解放プールをさらに作成する物事を絞り込むのに役立つ可能性のある1つのアプローチは、自動解放プールを明示的に作成することです。これは、アプリのメモリ関連の問題の一部を特定するのに役立ちます。自動解放プールを明示的に追加することには他の利点があるため、これはバグを探すためだけでなく行うことができます。

2)GuardMallocも使用します。他にもメモリ関連のツールがあります。アプリは、GuardMallocを有効にしても正常に実行されるはずです。ARCに切り替えると、破壊のポイントが変わる可能性があります。ダングリングポインタを保持している可能性があります。

3)最後にすべてのリークを削除します。これは逆に聞こえる場合があります-可能なすべてのリークを削除します。メモリ操作と有効期間を明確に定義する必要があります。たまにリークがある場合は、問題を検出するのが難しい可能性があります。多くの場合、リークを減らすと、問題の再現が容易になり、問題を特定するのに役立ちます。

于 2012-09-06T22:04:42.730 に答える