実際のリークがどこで起こっているのか、Instrumentsを使用しているアプリケーションでどこにないのかを理解するのは難しいです。私はautoreleasedされ、後で保持されていないオブジェクトを持っています。それはInstruments経由でリークとして表示されています。また、私が自分で書いたコードを指摘しない漏れとしてリストされているオブジェクトもたくさんあります。おそらく、本当のリークの一つがAppleライブラリ内のものを漏らしているドミノ効果だと思うかもしれませんが、私はそれが当てはまるとは思っていません。本当のリークがどこで起こっているのかを区別する最良の方法は何ですか?自動リリースされたオブジェクトに漏れを示すインストゥルメントはありますか?
4
A
答えて
3
私の経験では、インストゥルメントは自動リリースされたアイテムに誤検出をもたらしません。 (これらはまだ自動解放プールによって参照されるため、魔法の違いはありません)。
メモリリークが発生すると、実際にはドミノの影響があり、1つの原因で多くのカスケードリークが発生する可能性があります。機器内では、各リークには時間ベースのアイデンティティがありますので、最初のリークから始めることをお勧めします。
関連する問題
- 1. リリースされたオブジェクトにメッセージが送信されました(手動ではリリースされません)
- 2. これは自動リリースされるべきですか?手動で行う方法がありますか?
- 3. Objective-Cブロックは自動リリースされていますか?
- 4. オブジェクトをNotificationCenterに送信する前にオブジェクトを自動リリースする必要がありますか?
- 5. 自分自身でNSDictionaryに追加されたNSNumbersをリリースする必要がありますか?
- 6. リリースされたオブジェクトにメッセージを送信しますか?
- 7. オブジェクトはリリースされた後で使用しますか?
- 8. キーがページ外にリリースされたときにKeyUpイベントはありますか?
- 9. オブジェクトが無効にされたことを示す事前定義されたイベントはありますか?
- 10. 自動化はあまりにも自動化されているため、導入はいかがですか?
- 11. ASP.NETフォームがEntity DataSourceにバインドされた自動検証はありますか?
- 12. リリースされたアプリのNSZombieEnabledをオフにする必要がありますか?
- 13. リリースされたオブジェクトを再割り当てする
- 14. Perl用の優れた自動テストスイートはありますか?
- 15. 自動リリースまたは直後にリリースする方が良いですか?
- 16. リリース用のjsコンテンツを自動再生するツール/ユーティリティはありますか?
- 17. なぜこれらのオブジェクトをリリースする必要はありませんか?
- 18. オブジェクトが漏れています。 NSAutorelease pool
- 19. 私はUITouchオブジェクトをリリースする必要がありますか?
- 20. svnに解放されたロックが自動的にポーリングされる方法はありますか?
- 21. NSObjectがリリースされましたが、NSStringはNSArrayではありませんか?
- 22. リリースされたバージョンで表示された問題の表示
- 23. ボタンのtouchupinsideアクションは自動的に表示されますか?
- 24. すべてのクラスメソッドは自動解放されたオブジェクトを返しますか?
- 25. 「ネストされたトランザクション」のXLOCKはいつリリースされますか?
- 26. C#プロジェクトには自動生成されたクラスがありますが、自動生成されたものは何ですか?
- 27. 自動解放されたオブジェクトを非自動に変更する
- 28. Objective-c:メソッドから自動解放されたオブジェクトを返す
- 29. 子オブジェクトによって自動的に継承されるプログラム可能なデータはありますか?
- 30. リリースされたオブジェクトを再度割り当てても構いませんか?