我正在设计一个 Android 应用程序,我正在寻找有关如何实现我认为是一种常见模式的信息,但我似乎无法在网上找到任何有关它的信息。
我将有一个包含多个活动的应用程序,所有这些活动都将通过网络与 WiFi 设备进行通信。所以我的第一个想法是,由于所有活动都需要访问这个中央“网络通信器”,我应该创建一个服务来保存所有网络通信代码。伟大的!
但是现在,我希望能够节省电池寿命,并且总体上使应用程序不那么突兀。如果我的应用程序中的任何活动都不可见,那么我不需要运行网络代码,我可以关闭我的套接字并等待。然后,当其中一项活动再次可见时,我可以在那时重新连接。
这就是问题所在 - 我不知道该怎么做!是否存在用于确定何时隐藏我的应用程序中的所有活动的现有方法或模式?我不想在每次我的活动恢复或创建时断开/重新连接,因为大部分时间将来自用户在应用程序中导航,在活动之间切换。我希望网络连接一直打开。
我可以在我的服务中放置某种“引用计数”机制来跟踪活动何时出现和消失,但这似乎有点矫枉过正。我很惊讶没有现有的机制来解决这个问题。
对不起,如果我错过了一些简单的东西......