0

iOSデバイス全体がロックされ、デバイスを再起動することしかできないという奇妙な問題がアプリにあります。例外がスローされることも、Instrumentsでメモリリークが発生することもありません。

アプリには、メインメニュー付きのナビゲーションコントローラーがあります。次に、画像のグリッドが読み込まれているViewControllerをプッシュします。メインメニューとグリッドの間を行ったり来たりすると、アプリは約15回後にクラッシュします。しかし、殺されたのはアプリだけではなく、OS全体であり、私が今まで見たことがないものです。

最初はメモリリークだと思っていましたが、リークは何も表示していません。割り当てをいじってみて、グリッドビューコントローラーの割り当て数が増え続けているのがわかります。このアプリはARCを使用しています。これは「魔法」が多すぎるためあまり好きではありませんが、適切にクリーンアップされると思いました。

私が懸念していることの1つは、viewDidUnloadもdeallocも、navコントローラーからポップした後にグリッドビューコントローラーで呼び出されているため、イメージを明示的にクリーンアップしたり、ネットワーク接続を切断したりすることはありません。これが問題の原因だと思いますが、通常のクリーンアップ場所(viewDidUnload、deallocなど)が呼び出されていないため、いつこれらを強制終了する必要があるのか​​わかりません。

これは、5.1を実行しているiPhoneとiPadの両方で発生しており、AFNetworkingUIImageViewカテゴリを使用して画像を読み込んでいます。

乾杯、

4

0 に答える 0