维持socket
联系服务
根据Ofek Ron的说法,
Service与相比
BroadcaseReceiver是 更好的
主意
BoundService。因为保持沟通很繁琐。而且,我还建议
pub/sub使用广播方式,例如
Otto或
EventBus(我本人建议由Square
提供的 Otto ,这是一种干净而出色的api)。
奥托的优点
1.简洁的API
2.您可以订阅和发布/任何
Activity,
Fragment,
Service类。
3. 去耦 。(您必须在代码中尽量减少耦合)。
还有一点是 START_STICKY
在
onStartCommand()被破坏后用于启动服务。请参阅此参考。
MainApplication启动服务
最佳做法是在
MainApplication扩展中启动服务
Application。因为存在内存限制或用户从堆栈中强制关闭应用程序时,该应用程序将被终止。因此
onStartCommand()不会像在Activity中实现那样频繁调用。
实施在线状态
您只需
Application.LifeCycleCallbacks在
MainApplication类中实现即可实现在线状态,该类具有活动的大部分生命周期回调,并将在回调中得到通知。这样,您可以
Online简单地实现状态,而无需任何样板代码。(如果有人需要帮助,请告诉我)。
上载或下载图像或文件。
最佳做法是实施by,
IntentService因为它在单独的线程中运行。我保证它将提供最佳性能,因为它是由android本身处理的,而不像我们创建的线程一样。



