2011-01-20 15 views
0

リリースの割り当てられたオブジェクトメモリについていくつかの本を読んでいます。オブジェクトのメモリを解放します

一部は言う:object = nil,

は、いくつかは言う:[object release];

私は混乱しています、異なるもので、どちらが良いですか?

object = nilと設定すると、オブジェクトハンドラがデバッガから設定されているのがわかります。私が[object release];オブジェクトハンドラを呼び出すと、アドレスの束がまだ残っています。

メモリの解放についての詳細は誰か教えてください。

Javaの観点からは、オブジェクトハンドラをnullに設定し、実行時にそれを収集するよう通知します。 Objective-Cについて

オブジェクトを解放する必要があるnilを設定する必要があるオブジェクト。

答えて

1

オブジェクトをnullに設定すると、明示的に値(この場合はnull)に設定していると思います。あなたがそれをリリースすると、あなたはそのメモリチャンクで終了したことをシステムに伝えていますが、あなたの例ではそれはガーベッジ値に設定されていることを意味するように見えます。ここで

関連する問題