2012-02-09 9 views
0

私のアプリは出荷準備が整ったと思っていましたが、この1つのことが私を狂ってしまっています!willEnterForegroundはランダムにアプリケーションを再起動します

私のdidEnterBackgroundハンドラでは、いくつかの画像をキャッシュに保存し、考えられるすべての画像をダンプし、OSがランダムにアプリをダンプして再起動したようです。それは非常に一貫しているようではありません。時にはそれがうまく戻ってくることがあり、時には再起動することもあります。 Allocationsによると、私のdidEnterBackgroundでのメモリ使用量は約1〜2MBにまで下がります。

すべてをダンプすると、サブビューを削除し、配列からオブジェクトを削除し、たくさんのものを無制限に設定することができます。つまり、willEnterForegroundではたくさんのものを再作成する必要があります。

私は本当に何をすべきか分かりません。

ここにお手伝いいただければ幸いです。ありがとう!

ところで、これはiOS 5でARCを使用しています。

+1

バックグラウンドに入ると、いつでもアプリを終了できます。問題を抱えているのはあなたの質問から明らかではありません(タイトルはwillEnterForegroundです、問題はdidEnterBackgroundと言います)。あなたのアプリに "戻る"ときに実際に再起動していることが時々あるはずです。 – jrturton

+0

タイトル/質問の混乱については申し訳ありませんが、私のアプリは平和的にバックグラウンドに入り、可能な限り多くのメモリを解放することを意味しましたが、**時には**私が戻ってくるためにアプリをタップすると、私は中断した。そして私は理由を理解できません。 – pizzafilms

+0

これは予想される動作です。あなたが1kだけを使用している場合は重要ではありません、あなたはバックグラウンドで一度殺されないことを保証することはできません。マリウスの答えは正しい。 – jrturton

答えて

2

バックグラウンド状態では、アプリは常にウォッチドッグによって強制終了されます。アプリが常にバックグラウンドで動作しているという保証はありません。

マルチタスキングの詳細については、WWDC 2011のセッション320をご覧ください。マルチタスクに関する豊富な情報があります。

+0

そのビデオをありがとう。私はそれを見て、私はすでに言及されたすべてのかなりのことをやっていたが、私はまだ時々再開する。本当にイライラしているのは、他のアプリが私のものと同じくらい頻繁に再起動するようだということです。そして、たまにツールバーだけを表示しても、私のアプリが再起動することがあります。たぶん、いくつかの魔法は "私を殺さないで、私はいい男だ"という旗? – pizzafilms

+0

いいえ、あなたの記憶を低く抑えなければなりません。それで全部です。残りは全ての強力なウォッチドッグに起こる – mariusLAN

関連する問題