2010-12-17 10 views
-1

私はしばらくこの問題に苦労しており、多くの人がここや他のフォーラムで多くの記事を読んで同じことに出くわしたことに気付きました。ちょうど今朝、私は間違っていたことを理解し、誰かが将来それにつまずいた場合に備えて、それを共有することを考えました。viewWillAppear/viewWillDisappearが呼び出されていません....私の答えは

私の実装での問題は、ビューコントローラ(VC1)のviewDidLoad内に、ビューのプロパティを新しいビューコントローラ(VC2)に設定していたため、フレームワークがVC1のviewDidLoadを終了せずビューコントローラのデリゲート機能を呼び出さない:viewWillAppear、viewWillDisappear、viewWillAppear、およびviewWillDisappear!

私の解決策は、viewDidLoadの代わりにviewDidAppear内から呼​​び出されるVC2の作成と設定と関連しているすべてのコードを遅延させることでした。あなたがviewWillからそれを行うならば、同じ問題に遭遇するでしょう。

はそれだけのUIViewControllerのメモリを節約するためにわざわざ AF

+0

UIViewControllerのビュープロパティを別のUIViewControllerに設定していますか?それは...そうではありません。ビュープロパティは、UIViewControllerのビューを表す必要があります。 – vicvicvic

+0

なぜ間違っていますか?ビューコントローラを作成して新しいビューを追加する必要はなく、既存のビューをもう使用しません。メモリが無駄になります。だから私は実行時に別のビューでそれをリセットしています。 – Abolfoooud

+0

あなたが設定している遅延時間が十分であり、操作があなたが設定した遅延を超えないことは確かですか? – EmptyStack

答えて

1

は、なぜあなたはこのすべてに行くとお役に立てば幸いですか!

sizeof(UIViewController)は132バイトです。ビューコントローラがかなり少数のサポートオブジェクトを作成することを知ったとしても、これは早すぎる最適化の素晴らしい例であるよりも多くのメモリを占有することになります。

私はそれをコードソリューションは、あなたが意志のために行っているという公平な機会を与えるだろう:

(a)の (b)は (C)のiOSへのさらなる更新に失敗したエッジの例でメモリリークが発生することあなた自身以外のコーダーでデバッグする悪夢 (d)数週間以内に自分でデバッグする悪夢にならないでください

提供されたフレームワークを使用してアプリケーションを作成し、プロファイリングするのはなぜですか?この小さな量のメモリあなたに問題を引き起こしています。あなたのソリューションを実装してください。そうでない場合は、一人で放置してください。

関連する問題