2012-02-05 31 views
0

XcodeのApple UIPageViewControllerテンプレートを使用して、インタラクティブフォトブックを作成しています。すべてがうまく動作しますが、ページをめくるたびに(新しいViewControllerを作成すると)、メモリの割り当てはアプリケーションがクラッシュするまで起き上がります。ビューコントローラは決して「リリース」されていないように見えます(私はまだARC環境でその言葉を使用できますか?)。それはページの内容とは関係ないように思えます。なぜなら、私がすべてのコンテンツ作成物をコメントアウトするとき、DataViewControllerはメモリがまだページをめくるたびに上がり続けるからです。大きな画像が含まれていても、それでもまだ這い上がっています。UIPageViewController設定のビューコントローラは解放する必要がありますか?

正確に同じ質問がここにあります:PageViewController: How to release ViewControllers added to it?ですが、これは予備アーク&ストーリーボードの状況を扱っています。 autoreleaseの追加は許可されておらず、コンパイラはそれを世話していないようです。 :-(

任意の提案ですか?

+0

ちょっと!!!、私は同じ問題に直面しています。私の場合は、ページビューコントローラで再生を続ける3つのビューコントローラがあります。私は各View ControllerのdidReceiveMemoryWarningにブレークポイントを設定しました。警告が来たとき。ブレークポイントは、各ビューコントローラ上でこれらのメソッドにヒットしました。これは割り当てられていないことを意味します。それを解決する方法を提案してください。 – harshitgupta

答えて

0

は、私はあなたのためのリンクを提供し、それは私のためにそれを解決した他の質問に行ってきました。非常に大きなイメージで絵本を構築同じ問題を抱えていた。「autorelease」メモリ解放を追加します。。メモリまでUIPageviewcontrollerデリゲートメソッドで

"viewControllerAtIndex" 私はから変更:

// Create a new view controller and pass suitable data. 
ContentViewController *contentViewController = [[ContentViewController alloc] initWithNibName:@"ContentViewController" bundle:nil]; 

と自動解放

を追加しました
// Create a new view controller and pass suitable data. 
ContentViewController *contentViewController = [[[ContentViewController alloc] initWithNibName:@"ContentViewController" bundle:nil] autorelease] ; 

これはAppleの例には含まれていませんが、各ページにはxibも使用しています。私は楽器を使ってこれをデバッグしていましたし、すぐにメモリを再生し、以前にはなかったときに呼び出されるdeallocを見ました。

た答えがここに.... https://stackoverflow.com/a/7934392/1212585

+0

ありがとうございます。しかし、これは問題ではないことが判明しました。 –

3

問題は十分に決してのろわ「UIImage imagedNamed」構造であることが判明しました。最近のxcodeリリースでこれが修正されたと読んだら、チェックしなかったのはおそらく自分の責任です。だから私はイメージがもはやキャッシュされていないと仮定したのに対して、反対のものは真実であった。私はすべての "UIImage imageWithContentsOfFile"に変更した後、アプリは、赤ちゃんの底として滑らかな作業を開始した。

+0

ちょっと!!!、私は同じ問題に直面しています。私の場合は、ページビューコントローラで再生を続ける3つのビューコントローラがあります。私は各View ControllerのdidReceiveMemoryWarningにブレークポイントを設定しました。警告が来たとき。ブレークポイントは、各ビューコントローラ上でこれらのメソッドにヒットしました。これは割り当てられていないことを意味します。それを解決する方法を提案してください。 – harshitgupta

+0

ここで同じ問題が発生します。 動物の漫画やアニメーションをアニメーション化する子アプリケーションを作成しようとしています。 すべての動物の詳細ページがUIPageViewControllerに読み込まれます。 メモリ警告が受信されない限り、UIPageViewControllerはメモリを解放しません。 imageWithContentsOfFileが問題を解決したらどういう意味ですか? imageNamedで画像を読み込んでいます。それが解放された記憶の原因になるかもしれませんか? – Add080bbA

+0

Thanx Mr. Jigs。 imageWithContentsOfFileは実際に動作しました 私はそれを信じることができません。私はこの近くのために1ヶ月間髪を失っている。 突然UIPageViewControllerのすべてがメモリを解放し始めました。 imageNamed:とimageWithContentsOfFile:メソッドはどのように異なっていますか? これがどのように問題になりますか?どうやってこれを推測できますか? 1か月以上、このUIPageViewControllerキャッシュの問題を探しています。 あなたのためのポイント。 – Add080bbA

関連する問題