2016-11-03 13 views
0

私はサービスを持つアプリケーションを持っています(onStartCommandはSTART_STICKYを返します)。アプリをスワイプするか、デバイスを再起動すると、すべて正常に動作し、アプリとサービスが再開されます。これは機能します。Androidの開発:私のアプリケーションは時々殺され、それ以降に再起動されます

But: アプリは時々(時々、時には1時間後に)再開されます。つまり、アプリが強制終了されて再起動されます。しかし、私は理由を知らない。

  • ヒント?
  • 私のアプリを殺す別のプロセスですか?
  • 私のコードに誤りがありますか?
  • OS?

おそらく、私にエラーを検索するための一般的なヒントや指示を与えることができます。一般的に ハンス

+0

史上1ドーズモード、などなど2.アプリの待機3.システムの自動クリーンアップ....のことを聞いたOSを.....? https://developer.android.com/training/monitoring-device-state/doze-standby.html – Opiatefuchs

答えて

1

おかげで、あなたはあなたのサービスが殺されることはないだろうという仮定を作ることはできません。

OSを強制終了してプロセスを再開するには、アプリケーションを設計するだけで済みます。

OSはバックグラウンドでそれを保持する必要がないと思うときはいつでも、あなたのアプリを殺すことができます。あなたの旗START_STICKYはあなたのサービスをバックグラウンドに戻しますが、このフラグは、それが終了することなく永遠に実行されることを意味しません。

重要な状態やデータを保持するにはを使用してください。SharedPreferencesは、アプリケーションが状態を保存しない場合に備えて、ローカルストレージにデータを保持するようにしてください。

このリンクはあなたを助けるかもしれない:Android - Lifecycle and saving an Instance State questions

関連する問題