17

OSのメモリが不足していると、OSによって強制終了されることがあるバックグラウンドサービスがあります。

  1. この動作をシミュレートしてデバッグできるようにするにはどうすればよいですか?

開発ガイドには、「サービスが開始された場合、システムによる再起動を適切に処理するように設計する必要があります。システムがサービスを強制終了した場合、リソースが再び利用可能になるとすぐに再起動します」と単純に述べています。

  1. 強制終了されてから再起動が完了するまでの一連の呼び出しはどのようになっていますか?

副次的な(関連する)質問として、サービスがOSによって強制終了された場合、つまりservice.onDestroyが呼び出されなかった場合、サービスで開始されたアクティブに実行されているAsyncTaskはどうなりますか?それは実行を続けますか、それともサービスと一緒に静かにリッピングされますか?

4

3 に答える 3

3

リモートサービスではなくローカルサービス(デフォルト)の場合は、アプリと同じプロセスで実行されます。これは、アプリのプロセスを強制終了するだけで、強制終了をエミュレートできることを意味します。ddmsを使用して、たとえばEclipseやコマンドラインから、あるいは電話からでもこれを行うことができます([設定]-> [アプリケーション])。

于 2011-08-31T21:25:58.073 に答える