限制为 WidgetKit 时间轴条目?

Limit to WidgetKit Timeline entries?

我正在创建一个处理基于日程的小部件的应用程序。因此,它应该不断更新,但我会提前知道小部件的外观。我们一次可以创建的 WigetKit 时间线条目的数量是否有限制? 如果我想创建一个包含 100 个条目的时间线,它会让我没有任何限制吗?我想尽可能多地创建未来条目,但我不想在用户进行更改时减慢更新小部件的速度。

这是轶事,但我已经做了很多设备上的测试(我制作了多个小部件应用程序)所以我对这些数字很有信心:

  1. 向时间轴添加超过 ~250 个条目似乎无故中断。 100 个条目应该没问题。

  2. 时间线生成也有时间限制,即如果生成时间线需要超过 30 秒的处理器时间,您的更新进程将被终止,您的小部件将不会更新.这似乎不是问题,但 iOS 15 似乎 严重地 限制小部件更新,因此您可能 运行 超出预期。如果你 运行 进入这个,解决方案是优化你的小部件的呈现时间 and/or 生成更少的条目。

最后一个提示:始终在设备上进行测试。在模拟器中运行的东西可能无法在真实硬件上运行。

我也遇到过这个问题。我有多个小部件供用户选择。当我将 1 或 2 个小部件添加到主屏幕时,它们工作正常。但是当我添加更多 3-5 时,它们开始加载失败。所以我认为必须限制条目数。此外,还必须考虑小部件布局的复杂性。我曾经有一个月视图的小部件,例如 30 个框,每个框都有自己的数据。如果我有这个小部件的更多条目,它将失败。

所以...我的猜测是,这不仅仅是条目的数量,而且是您的小部件所需的 'storage' 的总体大小。遗憾的是,这个限制是未知的。 (至少对我而言)

最近我遇到了奇怪的情况。当我解锁我的 iphone 时,我的小部件将需要几秒钟才能显示。有时它会在占位符视图中冻结 4-5 秒,这并不好。