答えて
申し訳ありませんが、間違った問題を解決しようとしています。
いくつかの簡単なルールに従えば、オブジェクトがリリースされたかどうかを「発見」する必要は全くありません。あなたは知るだろう。
簡単なルールがあります:あなたがアロケーション、コピー、またはオブジェクトを保持している場合
- は、その後、あなたがそうでなければ
- を、それを解放する責任がある、あなたはそれ
retainCount
を使用しないでください。オブジェクトの割り当てが解除された場合(つまり、保持カウントがゼロの場合)、はオブジェクトが存在しなくなったため、オブジェクトに対して操作を実行できません。また、たとえそれがであっても、現在というものがありますが、それは自動解放プールにはないと言いますが、は次回見るときにになりますか?
+1正直な答え –
オブジェクトが解放された場合、そのプロパティにアクセスすることはできません。
プロファイラ(NSZombies)を使用して、どのオブジェクトが解放されてからアクセスされたかを検出できます。
私の答えは間違っていますか?なぜ-1? – Nekto
ゾンビが有効になっているときにオブジェクトへのメッセージであれば十分です。あなたがゾンビをメッセージしたためにプログラムがクラッシュした場合、あなたは知っています!
計測器で参照カウントトラッキングを有効にしている場合は、各refカウントイベントの各フレームを確認し、無効なrefカウントオフセットが導入されている場所を確認できます。
- 1. カラム名が渡されたかどうかを確認してください。
- 2. QColorDialogがキャンセルされたかどうかを確認してください。
- 3. program_optionsが追加されたかどうか確認してください
- 4. sedコマンドが変更されたかどうか確認してください。
- 5. Plone:フォームが提出されたかどうか確認してください。
- 6. マウスクリックが処理されたかどうか確認してください
- 7. ファイルがアップロードされているかどうか確認してください。
- 8. Curlドメインがルートかどうか確認してください。
- 9. RunOnUiThreadが必要かどうか確認してください。
- 10. Javassist:オブジェクトがプロキシであるかどうか確認してください
- 11. ステータスバーが隠れているかどうかを確認してください
- 12. オブジェクトが作成されているかどうかを確認してください
- 13. javascriptのオブジェクト/プロパティが定義されているかどうか確認してください
- 14. CodeIgniterでupdate_batch()が成功したかどうか確認してください
- 15. プロセスがアイドリングしているかどうかを確認してください。
- 16. 配列に特定のオブジェクトが含まれているかどうかを確認してください
- 17. Grails:デタッチされたオブジェクトがアタッチされているかどうかの確認
- 18. プロセスがパイプとして実行されているかどうかを確認してください。
- 19. 2つのジェネリックタイプが等しいかどうか確認してください
- 20. before_saveイベントでモデルが変更または作成されたかどうか確認してください
- 21. イメージがキャッシュからロードされているかどうかを確認してください。
- 22. どのマウスボタンが押されているか、ダブルクリックされていないか確認してください。
- 23. Mac AppがCocoaのMac App Storeから取得されたかどうか確認してください
- 24. CALayerがすでにサブレイヤとして追加されているかどうか確認してください。
- 25. C#:ファイルがロックされていないかどうかを確認してください。
- 26. 古いfacebookのアクセストークンが有効かどうか確認してください
- 27. 返されたファイルがXMLであるかどうかを確認してください
- 28. Rails、電子メールが送信されたかどうかを確認してください。
- 29. Djangoで開発されたWebサイトがあるかどうかを確認してください
- 30. SCCM:アップデートが正常にインストールされたかどうかを確認してください。
あなたはそれをチェックしないで、あなたのオブジェクトがリリースされているかどうかを知る方法でメモリを管理するのがよいでしょう。 –