Android でのサービスのオーバーヘッドがどれほど大きいか知っている人はいますか?
そして、次の設計上の決定に役立つ他の議論があれば.
2 つの SQLite Db があり、1 つは実際のデータ (基本的に読み取り専用の製品在庫) を格納し、もう 1 つは設定、選択したアイテムのリストなどを格納します。
これらのデータベースを管理するサービスを作成しました。主な理由は次の 2 つです。
- onDestroyで可能な「閉じるときに保存」(設定)できるようにしたい
- データの読み込みには時間がかかるため、アプリをすばやく閉じてもデータはメモリに保持されます
設計の観点から、次のいずれかを行うことができます。
- 両方の DB を処理する 1 つのサービスを作成する
- それぞれが 1 つの DB を処理する 2 つのサービスを作成する
DBごとに個別のサービスを作成する方がすっきりと感じます。たとえば、一般的な基本クラスを拡張してシャットダウンやタイマーなどを処理します。また、それらを個別に構成することもできます(現時点では必要ありません)。
一方で、私はこの道を進み始めたくありません。そして、「サービス」でこのようなことを行うことに慣れると、3 つまたは 5 つのサービスの制限があることがわかります。
では、たとえば 5 つの実行中のサービスのオーバーヘッドと、5 つの異なる機能をホストする 1 つのサービスのオーバーヘッドはどうなるでしょうか? 何か案は?