私はJavaのバックグラウンドから来ていますので、私はメモリ管理に関心があります。メモリをNSString * str = @ "hi";から解放する必要がありますか?私はNSStringを解放する必要があります* str = [[NSString alloc init]?私が合成するUILabelはどうですか?メモリ管理ios
メモリ管理ios
答えて
ケースNSString *str = @"hi";
コンパイル時定数文字列オブジェクト(所有者ではありません)のため、文字列を解放する必要はありません。 2番目のケースNSString *str = [[NSString alloc] init]
では、所有者であるためにリリースする必要があります。メモリを割り当てているので、責任を負います。
retain
またはcopy
のようなプロパティを宣言する場合は、synthesizeプロパティを解放する必要があります。通常、それらを解放する良いサイトはdealloc
メソッドです。
このApple docをお読みください。大型ですが便利です;)
合成したUILabelはどうなりますか? – user2514963
ARCメモリ管理でこれを行う必要はありません。詳細については、thisリンクをご覧ください。Googleで「ARCメモリ管理」を検索するだけです。
メモリを手動で管理したい場合は、ARCをオフにすることができます。クイックメモリ管理チュートリアルのリンクthisをご覧ください。
編集:iOS 5を使用していない場合は、手動でメモリを管理する必要があります。あなたの質問「私は何を合成したものUILabelについて、」あなたがそれらを解放する方法を求めている場合は、単に
- (void)dealloc
内のすべてのリリース文を呼び出すことが賢明だろう
[label release];
を呼び出しに応答して、例:
- (void)dealloc {
[label release];
[super dealloc];
}
私はIOS5を使用していません – user2514963
ARCはコンパイラベースのメモリ管理戦略です。私はそれが4.0以上のSDKを必要としているとは思うが、それはあなたが展開しているiOSには無関係です。 – isaac
私の編集を参照してください。また、ARCはiOS 4でも動作します。 – DGund
- 1. iOSメモリ管理
- 2. iOSとメモリ管理
- 3. iOSのメモリ管理
- 4. iOSメモリ管理 - viewDidUnload
- 5. iOSメモリ管理の問題
- 6. iOSシングルトンとメモリ管理
- 7. iOSリリースのメモリ管理
- 8. iOSメモリ管理の問題
- 9. Javaメモリ管理:iOSスタイルのメモリ監視?
- 10. iosでのメモリ管理の理解
- 11. ModalViewControllerのiOS - ARC /メモリ管理の問題
- 12. 複数のストーリーボード(iOS +メモリ管理)
- 13. iOS上のNSMutableDictionaryによるメモリ管理
- 14. メモリ管理(iOSの/のObjective-C)
- 15. iOSメモリ管理、UIWindow addSubview:およびタブコントローラ
- 16. (iOS)一時変数のメモリ管理
- 17. CFSTRメモリ管理
- 18. メモリ管理addSubview:
- 19. iPhone:メモリ管理
- 20. UIViewメモリ管理
- 21. Netbeansメモリ管理
- 22. C#メモリ管理
- 23. CGMutablePathRefメモリ管理
- 24. UITableViewメモリ管理
- 25. アレイ、メモリ管理
- 26. MVC3メモリ管理
- 27. コアデータ - メモリ管理?
- 28. mipsメモリ管理
- 29. CPythonメモリ管理
- 30. OSメモリ管理
手動管理の代わりにARCを使用すると、これらの問題はすべて解決されます。 –
そして、投稿する前にドキュメントを読んだり、ここで検索してみてください。これは死に至った。 – jrturton
...これは大きな質問ですが、Richard - それは特に有益なコメントではありません。 ARCを使用していても、iOSのメモリ管理がどのように機能しているかを理解することは非常に便利で、ARCはすべての問題を「解決」しません。 – lxt