0

我正在开发 android 上的群聊应用程序。

目前我在群聊屏幕上点击按钮显示参与者列表。我需要在参与者列表中显示每个参与者的离线/在线状态。

目前,我通过为每个参与者创建一个线程并向服务询问其状态来获取离线/在线状态。

所以有 n 个线程为 n 个参与者运行。

我想更改此设计/优化此代码,并在两者之间引入某种管理器或其他任何东西。

使用目前的方法,手机的功耗很高,我需要以某种方式降低功耗,即优化代码。

我应该使用哪种设计模式或技术来优化这个问题?

代码就像

    while(all contacts)
    {
       AsyncTask.execute(new Runnable() {
                    @Override
                    public void run() {
                       //error handling
                       checkPresenceByContactId(contactId);
                       //error handling
                    }
    }
4

1 回答 1

1

您可以考虑使用观察者模式来监视您感兴趣的事件,并在发生更改时适当地通知观察者列表,以便他们可以做出相应的响应。

于 2013-09-14T11:48:01.000 回答