startService によって開始され、 BIND_AutoCreate にバインドされたサービスがあります。アンドロイドがメモリ不足のためにサービスを強制終了したときに、サービスを自動的に実行したいのですが、どのように埋め込むことができますか?
ありがとう'
startService によって開始され、 BIND_AutoCreate にバインドされたサービスがあります。アンドロイドがメモリ不足のためにサービスを強制終了したときに、サービスを自動的に実行したいのですが、どのように埋め込むことができますか?
ありがとう'
ACTION_DEVICE_STORAGE_OK
デバイスのメモリ不足状態を示すブロードキャスト レシーバーを登録する必要があります。メソッドで、onReceive()
サービスが停止しているかどうかを確認し、開始します。
DEVICE_STORAGE_OK
デバイスが低メモリ状態 (内部メモリ) から回復したときに、アクションがブロードキャストされます。これは、システムによるメモリ回復中にサービスが強制終了されたかどうかを確認し、強制終了された場合はサービスを開始するのに最適なイベントだと思います。
こちらのドキュメントをお読みください。
BIND_AUTO_CREATEバインディングのためにサービスが作成された場合、アクティビティがバインドされていなければサービスは停止します。
ドキュメント(service lifecycle)によると、サービスを明示的に開始してから、 autocreate フラグを有効にしてバインドすることができます。
サービスを STICKY として明示的に開始した場合 (その * onStartCommand* メソッドで START_STICKY を返すと、システムにリソースが増えるたびに自動的に再起動されます。