IOS小组件(5):小组件刷新机制
引言
系统如何管理小组件刷新
Timeline刷新机制
刷新策略建议
时钟刷新策略(只有小时分钟,没有秒)
主动请求重新刷新
结语
引言
前面的章节学完已经让我们可以顺利实现一个小组件了,但是小组件里面的数据如何刷新的呢,本节内容将讲解IOS的刷新机制。
系统如何管理小组件刷新
WidgetKit在一个单独的进程中渲染小组件视图
即使小组件窗口显示在屏幕上,widget extension 也不会持续处于活动状态
为了管理系统负载,WidgetKit使用预算来分配一天中的窗口小组件重载
WidgetKit为用户添加到其设备的每个活动小组件维护不同的预算
每日预算通常包括40到70次刷新。该速率大致可转换为小组件每15至60分钟重新加载一次,但是由于涉及到许多因素,因此这些时间间隔是不固定的。
综上所述,小组件的刷不能由开发者自由控制,官方建议如下:
如果您的小组件可以预测应重新加载的时间点,则最好的方法是为尽可能多的将来日期生成时间线。
时间轴中的条目间隔应保持尽可能大。
时间轴应创建至少相隔5分钟的时间轴条目。
WidgetKit可能会在多个窗口小组件之间合并重新加载,从而影响窗口小组件重新加载的确切时间。
Timeline刷新机制
该图