Yes, that's the intended behaviour - basically because code is of varying quality, if we left all apps in charge of cleaning themselves up, many wouldn't and Bangle.js would be very unreliable after a while.
So what we do is when loading a new app we tear everything down, and restart it. Some apps like some clock/launchers implement 'fast load' which lets them swap between themselves quickly without that full load but on the whole when launching apps everything gets removed.
You can add 'boot code' (a file called myapp.boot.js) which always runs every time you switch apps, so you can put your code in there - I assume this is you actually? https://github.com/espruino/BangleApps/pull/2802
So I probably already answered this when it was asked in the PR too :)
Espruino is a JavaScript interpreter for low-power Microcontrollers. This site is both a support community for Espruino and a place to share what you are working on.
Yes, that's the intended behaviour - basically because code is of varying quality, if we left all apps in charge of cleaning themselves up, many wouldn't and Bangle.js would be very unreliable after a while.
So what we do is when loading a new app we tear everything down, and restart it. Some apps like some clock/launchers implement 'fast load' which lets them swap between themselves quickly without that full load but on the whole when launching apps everything gets removed.
You can add 'boot code' (a file called
myapp.boot.js
) which always runs every time you switch apps, so you can put your code in there - I assume this is you actually? https://github.com/espruino/BangleApps/pull/2802So I probably already answered this when it was asked in the PR too :)