私のアプリの 1 つで、配列を含む多くの計算を行って、それらをグラフ化しています。計算にはユーザー入力が含まれます。ユーザーが異常な値を入力すると、アプリはメモリを大量に消費して終了するまで計算を実行し続けます。ユーザーがアプリを再度開こうとすると、最後に保存されたデータから同じ計算が試行され、再びクラッシュします。デフォルト値に戻すには、ユーザーがアプリを削除して再ダウンロードする必要があります。
この問題を解決するために、メモリ不足のためにアプリが強制終了されたときに、保存されたすべてのデータをダンプしたいと考えています。applicationDidReceiveMemoryWarning:
appDelegate とdidReceiveMemoryWarning:
、計算が行われている viewController に実装しようとしました。これらの関数はどちらも呼び出されていません。少し調べたところ、メインの実行ループをブロックしているためであることがわかりました。
この状況をどのように処理するのが最善でしょうか?