2017-08-16 2 views
1

アプリがフォアグラウンドにある間にユーザーがロックボタンを押すと、アプリはアクティビティを辞めるが、ユーザーが電話を解除したときに再び起動する準備ができているはずである。約5分後に私のアプリケーションは終了して終了し、彼らが彼らの電話のロックを解除すると、彼らはホーム画面に戻ります。これは予想される動作ですか?私が知る限り、私は新しいプロジェクトを開始するまでこの状況を経験していません。私はここで何か間違っているのか、何らかの設定を忘れていますか?アプリはロックボタンを押してから約5分後に終了する

+0

クラッシュログはありますか?物理デバイスでデバッグモードでアプリを実行するとどうなりますか? – MwcsMac

+0

はデバッグモードのように思えますが、クラッシュはまったくありません。 – TNguyen

答えて

0

オペレーティングシステムは、いつでもアプリケーションを終了させて​​、リソースを必要とする可能性がある他のプロセスやバッテリ寿命を節約することができます。

"アプリケーションは、いつでも終了するように準備されている必要があります。ユーザデータを保存したり、他の重要なタスクを実行するのを待つべきではありません。ユーザーが起動している他のアプリケーションのためのスペースを確保するために、アプリケーションを起動することができます。しかし、システムは、動作に間違っている、またはタイムリーにイベントに応答しないアプリケーションを終了させる可能性があります。

Source: Apple Developer - "The App Life Cycle"

、アプリケーションにこの出来事の可能性を最小限に抑えるために、どのようなプロセスを見て実行され、アプリケーションがフォアグラウンドでない間、それらを一時停止/停止するために何をすることができます行います。

これがどのくらい速く起こったとしても、アプリケーションがバックグラウンドで終了する状況を処理するようにアプリケーションを設計することが重要です。バックグラウンドで終了する可能性があります。次回の起動時にユーザーが途中で中断した場所を継続できるように、状態と重要な情報を保存します。

関連する問題