美文网首页
iOS Widget 组件开发知识整理

iOS Widget 组件开发知识整理

作者: 高浩浩浩浩浩浩 | 来源:发表于2023-08-07 15:14 被阅读0次

1. 组件刷新时机

根据官方文档描述:

小组件预算的适用周期为 24 小时。WidgetKit 会根据用户的日常使用模式调整 24 小时窗口,这意味着每日预算不一定会在午夜重置。对于用户经常查看的小组件,每日预算通常包括 40 到 70 次刷新。这一速率可以大致换算为每 15 到 60 分钟重新载入一次小组件,但是由于涉及到多个因素,这些时间间隔通常会有所不同。

在下列情况中,WidgetKit 不会将重新载入次数计入小组件的预算:
1. 小组件的包含 App 在前台。
2. 小组件的包含 App 有活跃的音频或导航会话。
3. 系统语言区设置发生更改。
4. 动态类型或辅助功能设置发生更改。

TimeLine 刷新机制:

TimelineReloadPolicy
atEnd 当前组展示完成后请求,根据测试现象来看是当前Timeline里面的entry事件处理完成以后回再次 执行 getTimeline方法
never 永远不主动请求, 当前entry执行完毕以后 就结束了
after 设定一个刷新时间,到点请求,可以设置定时触发

关于刷新测试出来的一些情况:

  1. 如果当前widget没有在首页展示出来,刷新时间会晚一些。
  2. 系统调用下一次 getTimeLine 事件时间是不确定的,并不是严格按照我们写的时间
  3. 在debug调试的时候,并不会被限制70次刷新,刷新频率也基本上是按照代码设置的间隔进行刷新的,但是release情况并不会这样子。

相关文章

网友评论

      本文标题:iOS Widget 组件开发知识整理

      本文链接:https://www.haomeiwen.com/subject/uxzipdtx.html