HarmonyOS鸿蒙Next中Form卡片在低电量模式下会被系统限制更新吗?

HarmonyOS鸿蒙Next中Form卡片在低电量模式下会被系统限制更新吗? 卡片每分钟更新,但用户反馈在省电模式下停更。鸿蒙对卡片后台刷新有哪些限制策略?

4 回复

开发者你好,卡片刷新在低电量模式下会中断,参考官方文档说明:系统会根据卡片可见状态、整机负载、卡片刷新频次等因素综合决定卡片是否可以刷新。

合理选择卡片刷新方式,降低服务卡片刷新功耗。

为避免卡片频繁刷新带来的功耗问题,建议按照业务必要性选择合适的定时刷新间隔;即使元服务进程启动后也不要连续频繁刷新卡片。

更多关于HarmonyOS鸿蒙Next中Form卡片在低电量模式下会被系统限制更新吗?的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html


可能不一定是低电量模式的问题,卡片被动刷新本身还有其他限制:

  1. 定时刷新有配额限制,每张卡片每天最多通过定时方式触发刷新50次,定时刷新次数可以通过修改卡片配置项updateDuration字段、或调用setFormNextRefreshTime接口两种方式进行设置,当达到50次配额后,无法通过定时方式再次触发刷新,刷新次数会在每天的0点重置。
  2. 当前定时刷新使用同一个计时器进行计时,因此卡片定时刷新的第一次刷新会有最多30分钟的偏差。比如第一张卡片A(每隔半小时刷新一次)在3点20分添加成功,定时器启动并每隔半小时触发一次事件,第二张卡片B(每隔半小时刷新一次)在3点40分添加成功,在3点50分定时器事件触发时,卡片A触发定时刷新,卡片B会在下次事件(4点20分)中才会触发。
  3. 定时刷新在卡片可见情况下才会触发,在卡片不可见时仅会记录刷新动作和刷新数据,待可见时统一刷新布局。
  4. 如果使能了卡片代理刷新,定时刷新和下次刷新不生效。

如果你开发的是互动卡片,确实有省电模式限制:

  1. 设备进入省电模式时,互动卡片不响应动效请求。
  2. 当设备热档位进入HOT时,不再响应非点击触发的动效请求;当热档位进入OVERHEATED时,不再响应所有动效请求。具体可参考热档位信息

在HarmonyOS Next中,低电量模式下Form卡片更新会被系统限制。系统为节省电量会暂停或减少后台任务,包括卡片的定时刷新。开发者可通过低电量模式事件监听,在非低电量时恢复更新。

在HarmonyOS Next中,Form卡片(服务卡片)在低电量模式(省电模式)下的更新行为确实会受到系统的限制,这是系统为平衡功能体验与功耗所采取的策略。

核心限制策略如下:

  1. 后台刷新限制:当系统进入低电量模式时,为减少功耗,会严格限制后台应用的活动。Form卡片的定时更新(如您提到的每分钟更新)通常依赖于后台服务或定时任务。在省电模式下,这些后台活动可能会被挂起或大幅降低执行频率,导致卡片无法按预设周期更新。

  2. 进程管控:HarmonyOS Next的进程生命周期管理在省电模式下会更加积极。卡片所属的应用进程在后台可能被更快地冻结或回收,从而中断其更新能力。

  3. 触发更新机制:卡片更新通常有两种触发方式:

    • 主动推送:由应用服务器或应用内逻辑触发。在省电模式下,网络活动可能受限,影响数据拉取。
    • 定时拉取:应用在后台定时唤醒以更新数据。此行为在省电模式下会受到直接抑制。

结论与现象解释: 用户反馈在省电模式下卡片停止更新,这符合系统的预期行为。鸿蒙系统通过上述策略,在低电量时优先保障续航,限制了非紧急的后台刷新操作。卡片更新属于“后台活动”,因此在省电策略中被管控是正常现象。

开发者注意事项: 开发者在设计需要频繁更新的Form卡片时,需考虑此场景。虽然无法绕过系统省电策略,但应确保:

  • 当应用回到前台或系统退出省电模式时,卡片能及时恢复并更新数据。
  • 合理设置更新频率,避免不必要的功耗。

此机制是HarmonyOS Next统一功耗管理的一部分,旨在提供更优的能效体验。

回到顶部