我正在编写一个中等复杂的Android应用程序,其中包括一个始终运行的“网络”服务。
应用程序非常有状态,可以通过UI或网络数据更改状态(按下几乎总是打开的TCP连接,通过'应用程序ping'保持活动,a.k.a。'保持活跃')。
(我的问题不是关于几乎总是开放的TCP是否是一个好主意。)
在其他平台上,我使用状态机来保持理智。
在Android上看起来我有三个选择:
一个巨大的活动和一个状态机,通过绑定服务进行通信。
15+活动和一个状态机,可以根据状态变化触发意图。
15+活动,没有状态机 - 只需尝试将它们与意图粘在一起。
我的问题是:
让其他人在Android应用中使用显式状态机吗?
这是一个好主意,还是在Android中有更好的方法?
其他应用是否具有此级别的状态复杂性?