Ticket Created
over 3 years ago

CIQQA-986

Too Many Timers: Timer.stop() doesn't free Timer on Fenix 6

I have a view that spins up a timer in the `onShow` and tears it down in the `onHide`.

On a device like the Venu 2S, this works as expected: I can show and hide the view as many times as I want. 

On a Fenix 6 however (and perhaps other button-based watches), if I show / hide 3 times I end up with a Too Many Timers exception. I wouldn't expect this to occur since the timer `stop` method is being called explicitly.

Since this works on the Venu 2S and doesn't on the Fenix 6, it seems like the button-based watches may not be deallocating the timer when the stop() method is called.

Example code from my view:

    function onShow() {
        self.mTimer = new Timer.Timer();
        self.mTimer.start(self.mState.method(:tick), self.mState.POS_TICK, true);
    }

    function onHide() {
        self.mTimer.stop();
    }