Androidでグループチャットアプリケーションに取り組んでいます。
現在、グループチャット画面のボタンをタップすると参加者リストが表示されます。参加者リストの各参加者のオフライン/オンライン ステータスを表示する必要があります。
現在、参加者ごとにスレッドを作成し、そのステータスについてサービスに問い合わせることで、オフライン/オンラインのステータスを取得しています。
したがって、n 人の参加者に対して n 個のスレッドが実行されます。
この設計を変更/このコードを最適化し、その間に何らかのマネージャーを導入したいと考えています。
現在のアプローチでは、電話の消費電力が高いため、何らかの方法で消費電力を下げる、つまりコードを最適化する必要があります。
この問題を最適化するには、どの設計パターンまたは手法を使用する必要がありますか?
コードは次のようなものです
while(all contacts)
{
AsyncTask.execute(new Runnable() {
@Override
public void run() {
//error handling
checkPresenceByContactId(contactId);
//error handling
}
}