组聊天中参与者列表在线查询的设计模式

时间:2013-09-14 10:04:54

标签: java android design-patterns

我正在研究Android上的群聊应用程序。

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

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

因此,n个参与者可以运行n个线程。

我想改变这个设计/优化这段代码,并介绍某种经理介于两者之间或其他什么。

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

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

代码就像

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

1 个答案:

答案 0 :(得分:1)

您可以考虑使用observer pattern来监控您感兴趣的事件,并在发生更改时适当通知观察员列表,以便他们可以做出相应的回应。