Apple のドキュメントによると、「ウィジェットを最新の状態に保つために、システムは時々ウィジェットのビューのスナップショットをキャプチャします。ウィジェットが再び表示されると、システムがビューのライブ バージョンに置き換えるまで、最新のスナップショットが表示されます。 ."
しかし、私が見ているのは、ライブ ビューが準備される前に、スナップショットが画面から削除されていることです。これにより、古いスナップショットが画面から取り除かれ、ビューが一瞬空白になり、その後新しいビューが表示されるフラッシュ効果が発生します。
開発者は、スナップショットとライブ ビューの間の移行をシームレスにする責任がありますか? もしそうなら、その背後にある戦略は何ですか?その遷移を直接制御する方法はありません。
データの読み込みを widgetPerformUpdateWithCompletionHandler: に移動し、viewWillAppear: で描画を維持することで、影響を大幅に軽減できましたが、通知センターが 15 回 (またはそれくらい) 開くたびに、まだフラッシュが表示されます。