私は望む時にuiimage/view/subviewsをリリースする必要があり、それらを解放する適切な練習に関していくつか質問があります。(iphone)uiimage、view、subviewsメモリ管理
[imageView removeFromSuperview]はimageViewとimageView.imageをリリースしますか?
view = nil;そのサブビュー/関連するuiimagesを再帰的に解放するでしょうか?ビューのサブビューを解放する再帰関数を実装する必要がありますか?
は
編集ありがとうございました。
私はUIViewのライブラリの参照で
addSubview見えた -
をこの方法では、ビューを保持し、 が新しいスーパーで受信機にその 次のレスポンダを設定します。
removeFromSuperview -
レシーバのスーパーが nilでない場合は、スーパーは レシーバをリリースします。ビューを再利用する予定がある場合は、 をこのメソッドに呼び出してから、後でもう一度解放してください( )。
まだわからない[ImageViewのリリース]は、uiImageは、それに関連付けられた を解放し、私はまだサブビューの解除を再帰的に必要になります。つまり、ビューの割り当てが解除されると、サブビューのリリースが自動的に保証されますか?
私は 'release'はdeallocではなく、保持カウントがゼロになるとメモリが解放されることを知っています(私は他のすべての参照を処理する必要があることを知っています)。ビューのサブビューをすべて解放するには、再帰的なremoveFromsuperview(またはrelease)を実装する必要があります。 : – eugene
はい、uiImageをリリースするにはimageView.image = nilが必要ですか、imageView.imageもリリースされますか? – eugene
UIImageViewは、解放されたときにすべてのデータを解放すると仮定することができます。 UIImageViewの呼び出しの呼び出しは、そのデータに対してreleaseを呼び出さない。 – jakev