アプリケーション コンテキストを使用してデータを共有し、アクティビティ間で (またはアクティビティが閉じられたときに) 関数を実行するアプリを作成しました。また、BroadcastReceiver
インテントを処理する があります。さらに、新しいスレッドを生成して、App Context に保存されている一般的な関数を実行します。すべてのアクティビティとブロードキャスト レシーバーは を呼び出すことでアプリ コンテキストにアクセスできるため、アプリthis.getApplicationContext()
全体でデータと機能を共有しながらバックグラウンドで実行する方がはるかに簡単な方法のようです。
しかし、いくつか質問があります。この方法にマイナス面はありますか? これが問題なく機能するのに、なぜサービスを作成する必要があるのでしょうか? (そしてこれまでのところ、それはあります)サービスと比較して、この方法でバッテリーの消耗が大きくなりますか?