私は2つの方法で使用しているミックスケースIDLサービスを持っています:
- このサービスはスレッドを生成し、ネットワーク呼び出しを行って、アクティビティに代わってXMLコンテンツを取得します。コンテンツは、コールバックメソッドを定義するクライアントのIDLを介してアクティビティに戻されます
- ユーザーが通知オプションを選択すると、サービスは繰り返し実行されるタイマーを作成し、ツールバー通知を作成します。また、コンテンツをキャッシュしたため、アクティビティが更新を要求すると、別のネットワーク呼び出しではなくキャッシュから提供されます。
だから私の質問は
- シナリオ#1の場合、アクティビティで直接バックグラウンドスレッドを作成する代わりに、ネットワークコールにサービスを使用するために支払う価格(ある場合)はどれくらいですか?
- #2-実装をAlarmManagerに変更したほうがいいですか?TasKillerでプロセスを強制終了すると、サービスが停止して再起動されないことに気付きました。AlarmManagerベースのジョブの方が回復の可能性が高くなりますか?