onUpdate called twice in Widget

In my widget app, every time I switch between views (WatchUi.switchToView, WatchUi.pushView), the View.onUpdate of the new view is called twice. This happens after View.onShow, which is called only once.

Is there any reason/logic for that? My onUpdate is pretty intense, so I do not want to waste resources.

Also, it happens before any other user input is processed. So, if I push the up/down key multiple times, then the view change of the first key press is completed including the second call to onUpdate, before then the next key press is processed.

I have tested this in the simulator only, not yet sure if it happens on the device as well.

There was similar question, but not really a conclusion for it: forums.garmin.com/.../onupdate-is-called-twice