![像 WhatsApp 这样的应用程序是否始终与服务器保持连接?](https://linux22.com/image/1540296/%E5%83%8F%20WhatsApp%20%E8%BF%99%E6%A0%B7%E7%9A%84%E5%BA%94%E7%94%A8%E7%A8%8B%E5%BA%8F%E6%98%AF%E5%90%A6%E5%A7%8B%E7%BB%88%E4%B8%8E%E6%9C%8D%E5%8A%A1%E5%99%A8%E4%BF%9D%E6%8C%81%E8%BF%9E%E6%8E%A5%EF%BC%9F.png)
我正在创建一个必须与服务器实时同步的应用程序。我不确定是否要有一个始终在线(或每 2 分钟检查一次服务器)的应用程序,因为它可能会耗尽电池。我有什么替代方案?
答案1
你说得对,这会很快耗尽你的电池,而移动操作系统会阻止这种情况,因为它们会强制应用程序在后台运行一段时间后进入睡眠状态。谷歌有自己的 FCM 解决方案,可以将消息推送到 Android 或 iOS 移动设备。
苹果将此命名为 苹果推送通知服务
答案2
WhatsApp 与大多数现代应用程序一样,都使用推送技术。
这意味着,我们不再制造拉每秒或每分钟从服务器获取数据x
,服务器推动当需要向设备发送数据时。
它要求设备事先向服务器确认自己的身份。服务器识别它,然后服务器将能够发送通知在需要时将其发送至设备。
如果设备需要少量数据,那么它可以在通知中出现,或者,通知可以充当叫醒服务强制应用程序/设备连接到服务器,拉数据。
谷歌提供了一项免费服务,使这项技术可以在 Android/iOS 设备上运行,称为Firebase