在Android中实现Socket.io的最佳方法

我打算通过此库在android中实现Socket.io,用于基于聊天的应用程序。据我了解,该图书馆似乎还不错。我想知道如何始终保持整个应用程序中的

套接字连接吗?在这里,我列出了实现的方法,其中我需要最好和稳定的方法。

类扩展

这样,我们就可以在

(或应用程序的生命周期)中维护套接字连接,并且只要活动需要套接字实例,我们就可以轻松获得套接字连接。但这也是主要问题。它可能会阻塞主线程。

通过这种方式,我们可以 服务与活动 ,并且我们可以简单地使用它。在单独的线程中执行操作是实现IO

/网络调用的方法。但是,跨进程传输比在同一进程中直接访问更昂贵。

在Singleton中保持连接也很有意义。但是我们不知道实例何时被进程杀死,因为它在活动生命周期中不起作用。

如果我有道理,请帮助我。如果没有注释掉。

回答:

我给出了更适合我的答案。

回答:

回答:

根据Ofek Ron的说法,Service与相比BroadcaseReceiver

主意BoundService。因为保持沟通很繁琐。而且,我还建议pub/sub使用广播方式,例如OttoEventBus(我本人建议由Square

提供的 ,这是一种干净而出色的api)。

1.简洁的API

2.您可以订阅和发布/任何ActivityFragmentService类。

3. 。(您必须在代码中尽量减少耦合)。

还有一点是 在

onStartCommand()被破坏后用于启动服务。请参阅此参考。

回答:

最佳做法是在MainApplication扩展中启动服务Application。因为存在内存限制或用户从堆栈中强制关闭应用程序时,该应用程序将被终止。因此onStartCommand()不会像在Activity中实现那样频繁调用。

回答:

您只需Application.LifeCycleCallbacksMainApplication类中实现即可实现在线状态,该类具有活动的大部分生命周期回调,并将在回调中得到通知。这样,您可以Online简单地实现状态,而无需任何样板代码。(如果有人需要帮助,请告诉我)。

回答:

最佳做法是实施by,IntentService因为它在单独的线程中运行。我保证它将提供最佳性能,因为它是由android本身处理的,而不像我们创建的线程一样。

以上是 在Android中实现Socket.io的最佳方法 的全部内容, 来源链接: utcz.com/qa/432472.html

回到顶部