I'm encountering a timing issue in the simulator when running my app with SDK versions 8.1.0 and 8.1.1.
My app uses a combination of two timers and web requests. In the simulator, there is a consistent delay of 5 to 15 seconds after a View.onUpdate()
call before any subsequent event (timer, user input, etc.) is processed.
Here’s what I’ve observed:
-
When
onUpdate()
is triggered viaWatchUi.requestUpdate()
, the delay occurs after the singleonUpdate()
call. -
When
onUpdate()
is triggered viaWatchUi.switchToView()
, the delay can occur between the twoonUpdate()
calls and also after the second call.
The delay becomes more pronounced as the number of views increases, which results in higher memory usage (including buffered bitmaps) and additional timer events with more processing.
Importantly:
-
The issue does not occur when running the same code with SDK 7.1.1 in the simulator.
-
The issue also does not occur when the app is compiled with SDK 8.1.1 and run on a real device.
My primary test device is the Epix 2 Pro 47mm, but the problem is reproducible on other devices in the simulator as well.
To reproduce the issue, please clone the project from GitHub:
https://github.com/TheNinth7/evcc-garmin/tree/PerformanceRefactoring
For the app settings you need test sites (URLs), please contact me to receive the Postman URLs that you can use to reproduce the issue.