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