WhatsApp 实施了各种策略来优化电池使用,尤其是在数据传输方面,因为持续的网络活动会严重消耗移动设备的电量。以下是他们的具体实现方式:
1.高效的网络处理和协议:
持久连接 (WebSockets): WhatsApp 使用 WebSockets 在客户端和服务器之间建立持久的双向连接。这比反复打开和关闭 HTTP 连接(轮询)来检查新消息更省电。持久连接允许立即推送消息,从而减少应用频繁“唤醒”设备无线电的需求。
优化的专有协议: WhatsApp 的专有“chatd”协议旨在提高效率。它能够最大限度地减少每个数据包的开销,并优化通信流程,以最少的数据传输和更少的网络请求来发送和接收消息。
数据压缩: WhatsApp 压缩数据传输以减少整体有效负载大小。
短信:短信本身很小,消耗的数据很少(每条短信约 1 KB)。
媒体压缩:如前所述,WhatsApp 在发送图片、视频和音频文件之前会进行高度压缩。这减少了需要通过网络传输的数据量,直接影响电池消耗。用户还可以选择“标准质量”来上传媒体。
Opus 音频编解码器:使用 Opus 编解码器进行语音消息和通话非常高效,可以在低比特率下提供良好的音频质量,从而节省数据和电池。
2. 利用系统省电功能:
推送通知(Firebase Cloud Messaging/Apple Push Notification Service): WhatsApp 严重 伊朗 whatsapp 号码数据 依赖平台级推送通知服务(适用于 Android 的 Firebase Cloud Messaging 和适用于 iOS 的 Apple Push Notification Service),而不是不断保持连接开放或轮询新消息。
当有新消息到达时,WhatsApp 服务器会通过 FCM/APNS 向用户的设备发送静默推送通知。
此推送通知仅在需要检索消息时才“唤醒”WhatsApp 应用程序,避免持续的后台活动,从而节省电池电量。
高优先级的 FCM 消息甚至可以绕过 Android 的 Doze 模式来发送关键通知,确保及时送达,同时仍由系统管理。
后台应用程序刷新(iOS)/后台数据(Android): WhatsApp 的设计旨在在操作系统后台活动限制的限制内运行。
用户通常可以在手机设置中控制 WhatsApp 的后台应用刷新或后台数据使用情况。关闭这些功能可以显著减少电池消耗,但通知可能会延迟到应用打开时才显示。
WhatsApp 本身试图在执行后台任务(例如同步或备份)时保持智能,以符合 Doze 模式(Android)和 App Standby 等系统功能,这些功能会在设备空闲时限制应用程序对网络和 CPU 的访问。
唤醒锁管理:应用程序需要“唤醒锁”来防止设备在执行后台任务时进入睡眠状态。WhatsApp 会谨慎管理唤醒锁,并尽快释放它们,以避免不必要的 CPU 和网络活动消耗电量。
3.用户可配置的设置:
WhatsApp 为用户提供了直接控制功能,可以影响数据传输,从而影响电池使用情况:
自动下载媒体:用户可以禁用通过移动数据和/或 Wi-Fi 自动下载照片、视频、音频和文档的功能。这项设置对于省电至关重要,因为在后台下载大型媒体文件会消耗大量电量。
“减少通话数据使用量”:对于语音和视频通话,WhatsApp 提供了“减少通话数据使用量”的设置。启用此功能可减少通话期间消耗的带宽,从而直接减少电池消耗,尽管通话质量可能会略有下降。
聊天备份设置:用户可以将聊天备份配置为仅通过 Wi-Fi 进行,或者降低备份频率(例如,每周或每月而不是每天),从而减少后台数据传输。
暗模式:虽然与数据传输没有直接关系,但在 AMOLED/OLED 屏幕上使用暗模式可显著降低显示器功耗,从而延长整体电池寿命。
4.持续优化和监控:
WhatsApp 作为 Meta 产品,通过各种分析和配置工具(如 Android Battery Historian 或 Xcode Energy Gauges)不断监控其应用程序的性能,包括电池使用情况。
他们在不同的网络条件和设备型号下进行持续测试,以识别和优化耗电的组件和操作,并发布包括电池效率改进在内的更新。
通过结合高效的底层协议、利用操作系统级电源管理功能、提供用户可配置的设置和持续优化,WhatsApp 致力于在提供实时消息传递体验的同时最大限度地减少电池占用。