0

3秒ごとにアプリBにデータを取得して保存するように要求するアプリAがあります。このデータが保存された後、A は実際には B サービスに再度要求する必要はありませんが、ユーザーが B のデータを消去した場合に備えて要求します (その場合、データは次の呼び出しで再度作成されます)。

3 秒ごとにサービスを呼び出すのがどれだけバッテリーに負担がかかるのか、私にはよくわかりません (アプリ全体が起動しますか?)。AがBから (ContentProvider 経由で) プロパティを読み取る可能性があると考えていました。ただし、最後に、Aは 3 秒ごとに ContentProvider に、サービスを呼び出す必要があるかどうかを確認します。

ContentProvider の最も良い点は、結果を返すことができることです (Service はこれを行うことができますか?)。それが「OK メッセージ」である場合、Aは次の日かそこらでBに再度質問しません。

そう、

問題は、Service は既に開発されており、ContentProvider は開発されていないということです。

ContentProvider を作成する価値はありますか、それとも Service を呼び出しても実際にはバッテリーを消費しませんか? データがすでに作成されているため、サービスへの後続の呼び出しでは処理が無視されることを考慮してください。

4

1 に答える 1

1

このデータが保存された後、A は実際には B サービスに再度要求する必要はありませんが、ユーザーが B のデータを消去した場合に備えて要求します (その場合、データは次の呼び出しで再度作成されます)。

ACTION_PACKAGE_DATA_CLEARED次に、ブロードキャストを監視して、ユーザーがいつ B のデータを消去したかを確認します。これは、マニフェストに登録されたレシーバーから実行できるため、アプリ A もアプリ B も実行していなくても、ユーザーが B のデータを消去したことを確認できます。

3秒ごとにサービスを呼び出すのがどれほどバッテリーに負担がかかるかはよくわかりません

3 秒ごとに IPC とディスク I/O を使用して、2 つのアプリを常に実行し続けることは、あなたを熱狂させるようなものです。

于 2014-04-09T23:24:50.147 に答える