2011-02-05 4 views
1

サービスが明らかに進んでいるアプリケーションは、常に稼働していると考えられます。それは製品の一部であり、有料のアプリならユーザーが期待しています。サービスを存続させるには?

しかし、Android OSがメモリの負担を感じたり、何かがうまくいかずにサービスがクラッシュしたりすると、サービスが途絶えることはありません。

サービスが常に稼働していることを確認する最良の方法は何ですか?

しばらくして "有用な"サービスを開始し、それが実行されている場合は無視される第2のサービスを作成することは賢明ですか?

+2

これを行わないでください。タスクキラーによって殺されるだけで、ユーザーはサービスを停止する必要はありません。代わりにAlarmManagerを使用します。 – Falmarri

答えて

3

正直言って、これが良いアイデアなのかどうかはわかりません。

メモリが十分にある場合は、他のアプリが実行を主張するのは公平ではありません。また、サービスは重度の低メモリ状況でのみ蹴飛ばされる。

あなたがリーパーサービスを書いている場合は、これも蹴り出すことができます。

あなたが「有料アプリなら、ユーザーはそれを期待しています」と言います。 - ユーザーはまた、アプリがきれいに動くことを期待します。

+1

+1は「ユーザーがアプリケーションをうまく動くことを期待しています」 – Falmarri

1

サービスが「クリティカル」の場合は、startForegroundを使用して、サービスをフォアグラウンドのアクティビティとして優先します。

+0

AlarmManagerとIntentServiceを使用してコードを書き直しましたが、アプリが実行されてアラームが登録されるたびに、死ぬアラームは1時間ごとに実行を停止するので、とにかくポイントは何ですか? – kidalex

関連する問題